动态规划
向天抡大锤
这个作者很懒,什么都没留下…
展开
-
115. 不同的子序列
文章目录问题思路回溯法实现动态规划代码实现动规 问题 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。 (例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AEC" 不是) 题目数据保证答案符合 32 位带符号整数范围。 示例 输入:s = "rabbbit", t = "rabbit" 输出:3 解释: 如下图所示, 有 3 种可以从 s 中得到 "rabbit原创 2021-03-17 11:01:53 · 61 阅读 · 0 评论 -
背包问题_待整理
思路 动态转移方程:dp[i][j] = max(dp[i-1][j],dp[i-1][j-w[i][k]]+v[i][k]) dp[i-1][j]表示当前物品不放入背包,w[i][k]表示第i个主件对应第k中情况,即当前第i个物品的4中情况中价值最大的要么放入背包,要么不放入背包。 需要注意:dp[i][j] = max(物品不放入背包,主件,主件+附件1,主件+附件2,主件+附件1+附件2 dp = [[0]*(n+1) for _ in range(m+1)] for i in range(1原创 2021-02-27 11:46:15 · 75 阅读 · 0 评论 -
最长连续序列
最长连续序列题目思路代码验证 题目 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 思路 1、找到最小的num值 2、while循环找连续的元素集合 3、动态输出最长的 代码 def longestConsecutive(nums): if len(nums) <= 1: return len(nums) nums_set = set(nums) ans = 1原创 2021-01-21 15:39:53 · 92 阅读 · 0 评论