概念
分解问题,存储子问题结果。
例子
- 斐波那契数列
- 最长公共子序列
总结
动态规划解决复杂问题。### 典型用法
- 背包问题
- 爬楼梯问题
编程技巧
使用记忆化(memoization)减少重复计算。
递归与迭代
递归实现简单但可能导致栈溢出,迭代表格更稳健。
示例代码
1 | function fib(n) { |
复杂度
一般为 O(n) 或多项式时间,取决于状态空间大小。
练习资源
LeetCode, HackerRank 等平台有大量 DP 题目。
FILLER_DP_1
FILLER_DP_2
FILLER_DP_3
FILLER_DP_4
FILLER_DP_5
FILLER_DP_6
FILLER_DP_7
FILLER_DP_8
FILLER_DP_9
FILLER_DP_10
FILLER_DP_11
FILLER_DP_12
FILLER_DP_13
FILLER_DP_14
FILLER_DP_15
FILLER_DP_16
FILLER_DP_17
FILLER_DP_18
FILLER_DP_19
FILLER_DP_20
FILLER_DP_21
FILLER_DP_22
FILLER_DP_23
FILLER_DP_24
FILLER_DP_25
FILLER_DP_26
FILLER_DP_27
FILLER_DP_28
FILLER_DP_29
FILLER_DP_30
FILLER_DP_31
FILLER_DP_32
FILLER_DP_33
FILLER_DP_34
FILLER_DP_35
FILLER_DP_36
FILLER_DP_37
FILLER_DP_38
FILLER_DP_39
FILLER_DP_40
FILLER_DP_41
FILLER_DP_42
FILLER_DP_43
FILLER_DP_44
FILLER_DP_45
FILLER_DP_46
FILLER_DP_47
FILLER_DP_48
FILLER_DP_49
FILLER_DP_50
FILLER_DP_51
FILLER_DP_52
FILLER_DP_53
FILLER_DP_54
FILLER_DP_55
FILLER_DP_56
FILLER_DP_57
FILLER_DP_58
FILLER_DP_59
FILLER_DP_60
FILLER_DP_61
FILLER_DP_62
FILLER_DP_63
FILLER_DP_64
FILLER_DP_65
FILLER_DP_66
FILLER_DP_67
FILLER_DP_68
FILLER_DP_69
FILLER_DP_70
FILLER_DP_71
FILLER_DP_72
FILLER_DP_73
FILLER_DP_74
FILLER_DP_75
FILLER_DP_76
FILLER_DP_77
FILLER_DP_78
FILLER_DP_79
FILLER_DP_80
FILLER_DP_81
FILLER_DP_82
FILLER_DP_83
FILLER_DP_84
FILLER_DP_85
FILLER_DP_86
FILLER_DP_87
FILLER_DP_88
FILLER_DP_89
FILLER_DP_90
FILLER_DP_91
FILLER_DP_92
FILLER_DP_93
FILLER_DP_94
FILLER_DP_95
FILLER_DP_96
FILLER_DP_97
FILLER_DP_98
FILLER_DP_99
FILLER_DP_100
FILLER_DP2_101
FILLER_DP2_102
FILLER_DP2_103
FILLER_DP2_104
FILLER_DP2_105
FILLER_DP2_106
FILLER_DP2_107
FILLER_DP2_108
FILLER_DP2_109
FILLER_DP2_110