当前位置:   article > 正文

【Leetcode】动态规划分类总结_动态规划题目 leetcode

动态规划题目 leetcode

一 接龙型动态规划

题目一般是告诉你一个接龙规则,让你找最长的“龙”。

解题要点有两个:

(1)要把「接龙规则」提炼并表示出来

(2)需要用“倒推法”(通常是写一个getPath()函数),获取最长‘龙’的具体方案。这就往往需要一个与dp[i]唯独相同的数组prev[i]记录,是那个前继状态给到了当前i这个最佳方案。

代表题目:

  • Leetcode#300. Longest Increasing Subsequence
  • Lintcode#398. Longest Continuous Increasing Subsequence II
  • Leetcode#368. Largest Divisible Subset

1. Leetcode#300. Longest Increasing Subsequence

  • 题目:输入一个int[],找出从左到右的连续上升的子序列
  • 接龙规则:从左到右挑选数,数要一个比一个大
  • 状态表示:dp[i] 表示以第i个数结尾的Incresing subsequence最长是多长 --> return max(dp[0,...n-1])
  • 转移方程:dp[i] = max(dp[j] + 1),其中j < i, 且nums[j] < nums[i]
  • <
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/622289
推荐阅读
相关标签
  

闽ICP备14008679号