![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法-动态规划
君君Z
这个作者很懒,什么都没留下…
展开
-
动态规划练习 leetcode 300.最长上升子序列
leetcode 300.最长上升子序列 思路:用dp[i]记录当前位置最长的上升子序列长度,每次遍历i之前的数组元素进行比较,如果nums[i] > nums[j],则用变量maxval记录此次遍历最长的上升子序列长度,dp[i] = maxval + 1 class Solution { public: int lengthOfLIS(vector<int>&...原创 2019-11-10 10:04:15 · 225 阅读 · 0 评论 -
动态规划练习 leetcode 279.完全平方数
leetcode 279.完全平方数 动态转移方程:dp[i] = min(dp[i], dp[i - j * j] + 1) 其中dp[i]初始值为i(最坏情况都由1组成) class Solution { public: int numSquares(int n) { vector<int> dp; dp.push_back(0); ...原创 2019-11-08 11:04:38 · 90 阅读 · 0 评论 -
动态规划练习 leetcode 264.丑数Ⅱ
leetcode 264.丑数Ⅱ 动态规划 思路:丑数第一个是1,其他都可由前面得到的每个丑数分别乘以2,3,5得到, 关键是丑数序列的递增排序。选用3个指针指向已得到的丑数序列元素,每次新生成的丑数中选取最小的一个加入丑数序列,然后相应的指针后移一位,这样得到的丑数序列就是递增的。 class Solution { public: int nthUglyNumber(int n) { ...原创 2019-11-08 09:13:37 · 107 阅读 · 0 评论