LeetCode刷题记录---动态规划(DP)算法

每次刷到动态规划算法题将在此博文更新~~~

这里简单介绍下DP:

 动态规划算法把待求解问题分成若干子问题,然后从这些子问题的可行解一步步递推到最优解。通常用于求解具有某种最优性质的问题。

 按照网上大佬总结的,通常有如下5步:
 1.确定dp数组以及下标的含义。
 2.确定递推公式。
 3.dp数组如何初始化。(有时候初始化非常关键)
 4.确定遍历顺序。(即for循环的顺序,这个也是蛮讲究的)
 5.举例推导dp数组。(也就是程序不对的时候,自己推导看看和代码打印的dp数组有啥不同)

 ⭐直接看下面题目的简单难度的几道,就能大概的了解DP的思想。

 ⭐⭐⭐看背包变种题目之前,建议先入门背包问题。关于背包问题的入门可以看这,以方便学习关于背包问题的变种题目(其实从背包问题入门动态规划也是非常推荐的):
 【1】

你可能感兴趣的:(算法与数据结构,动态规划,LeetCode,数据结构,算法)