动态规划
文章平均质量分 57
押切徹
这个作者很懒,什么都没留下…
展开
-
股票问题系列通解(转载翻译)
股票问题系列通解(转载翻译)转载 2022-01-01 20:37:23 · 65 阅读 · 0 评论 -
LeetCode 368. 最大整除子集 动态规划/medium
文章目录1.Description2.Example3.Solution1.Description给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:answer[i] % answer[j] == 0 ,或answer[j] % answer[i] == 0如果存在多个有效解子集,返回其中任何一个均可。2.Example示例 1:输入:nums = [1,2,3原创 2021-04-23 20:59:10 · 91 阅读 · 0 评论 -
LeetCode 91. 解码方法 动态规划/medium
文章目录1.Description2.Example3.Solution1.Description一条包含字母 A-Z 的消息通过以下映射进行了 编码 :‘A’ -> 1‘B’ -> 2…‘Z’ -> 26要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,“11106” 可以映射为:“AAJF” ,将消息分组为 (1 1 10 6)“KJF” ,将消息分组为 (11 10 6)注意,消息不能分组为 (1 11 06) ,原创 2021-04-21 15:08:24 · 173 阅读 · 0 评论 -
LeetCode 213. 打家劫舍 II 动态规划/Medium
文章目录1.Description2.Example3.Solution1.Description你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,能够偷窃到的最高金额。2.Example示例 1:输入:nums = [2原创 2021-04-15 11:40:27 · 202 阅读 · 0 评论 -
Java 数学组合 动态规划
文章目录1.Description2.Example3.Solution1.Description给定N 个正整数A1 ,A2 ,…,An ,从中选出若干个数,使它们的和为M ,编程计算选择方案数;2.Example输入第一行是两个数字,表示N 和M 。第二行是N 个数。 1<=N <=100,1<=M <=10000,1<=Ai <=1000输出就一个数字,表示和为M 的组合的个数,答案要对2^64取模。 样例输入4 41 1 2 2转载 2021-04-07 12:57:48 · 244 阅读 · 0 评论 -
动态规划:0-1背包,完全背包,多重背包
文章目录一、动态规划1.定义2.动态规划设计要素二、0-1背包1.问题2.解法一、动态规划1.定义2.动态规划设计要素二、0-1背包1.问题有一个可装4磅重物品的背包,有三件物品:吉他:1磅,1500元;音响:4磅,3000元;电脑:3磅,2000元;问如何装才能取得最大的价值。2.解法v[i]表示第i个物品价值;w[i]表示第i个物品重量;v[i][j]表示在前i个物品中能够装入容量为j的背包中的最大价值。公式:(1)v[i][0] = v[0][j];(2)w[i原创 2021-01-13 21:14:18 · 174 阅读 · 0 评论 -
LeetCode 1143. 最长公共子序列 动态规划/medium
文章目录1.Description2.Example3.Solution1.状态定义2.状态转移方程3.状态的初始化4. 遍历方向与范围5.最终返回结果1.Description给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “转载 2021-04-03 22:30:52 · 133 阅读 · 0 评论 -
115. Distinct Subsequences(不同的子序列) 动态规划/hard
文章目录1.Description2.Example3.Solution1.Description给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)题目数据保证答案符合 32 位带符号整数范围。2.Example输入:s = "rabbbit", t = "rabbit"输出:3解释原创 2021-03-17 20:51:03 · 121 阅读 · 0 评论 -
LeetCode 剑指offer42.连续子数组的最大和 动态规划/easy
文章目录1.Description2.Example3.Solution1.Description输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。2.Example输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。3.Solution使用动态规划。基本思路是向后统计子数组的和,如果和小于等于0的话说明对后边的和没有贡献了,令数组从原创 2021-02-20 17:17:35 · 84 阅读 · 0 评论