动态初步
NI_oy
这个作者很懒,什么都没留下…
展开
-
LCS--最长公共子序列
子问题: 从两字符第一个字符分别到str1,str2的第 i , j 个字符所拥有的最大公共子序列,当 i=n且 j = n成立状态: maxNum[i][j] 表示上述边界: 当 i = 0 或 j = 0 时 maxNum[i][j] = 0 —》 max[0][j] = 0 max[i][0] = 0状态转移方程: 对第 i , j 个元素, 1.相等 str1[i] == st...原创 2020-03-28 23:41:44 · 104 阅读 · 0 评论 -
LIS--最长升序子序列
子问题: 第n个最长--》第i个最长,当i = n 成立状态: maxSum[i] 表示 从第一个元素到第 i 个元素的最长子序列边界: i == 1 时, maxSum[i] = 1转移方程: n=1时,maxSum[n] = 1; 选择时:标准a[i] 与 a[j] 大小 符合:a[i]>a[j] maxSum[i] =max(maxSum[i], maxSum...原创 2020-03-28 22:49:03 · 177 阅读 · 0 评论 -
Leetcode--打家劫舍 II(动态规划)
打家劫舍 II你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现 金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [2,3,2]输...原创 2020-03-27 21:13:27 · 134 阅读 · 0 评论 -
初学动态规划
浅谈递归,记忆化搜索和动态规划在解决动态规划类问题时,我们常常想到的是递归。递归的时间复杂度是 O(n!),因为递归途中有许多的重复计算,以三角形问题为例:(数字为所在位置计算次数) 1 1 2 1 1 3 3 1 1 4 6 4 1因此,递归在使用时存在的问题最大即使: 重复计算记忆化搜索即使对递归存在的问题进行改进,将每个已经计算过...原创 2020-03-26 11:47:51 · 136 阅读 · 0 评论 -
Leetcode--爬楼梯
爬楼梯https://leetcode-cn.com/problems/climbing-stairs/solution/pa-lou-ti-by-leetcode/假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1....原创 2020-03-23 00:17:01 · 125 阅读 · 0 评论