
动态规划
leetcode上和一些其他途径遇到一些动态规划解题分享
逆行的小白菜
逆水行舟,不进则退。
学而不辍,日有所积。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode----32.最长有效括号(DP---动态规划)
题目描述 给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()" 我的思路: 1:一个左括号和一个右括号才能组成一对括号 2:连续括号的有效匹配括号个数一定是偶数个,因此i位置出现一个右括号以后...原创 2019-12-26 20:33:15 · 183 阅读 · 0 评论 -
leetcode---42.接雨水(DP---动态规划)
题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6 我的思路: 可以归纳出,剩余柱子...原创 2019-12-26 20:24:32 · 583 阅读 · 0 评论 -
算法——动态规划
动态规划 求最优解 将一个大问题拆分成多个子问题 找出边界条件 分析递推转换公式 简单的例子: 爬楼梯问题 有一个n阶的楼梯,一次可以走1阶或者2阶,求计算出走到n阶公有多少方法? 例如:3阶 一共有三种走法 第一种:每次走一阶 第二种:第一次走1阶第二次走2阶 第三种:第一次走2阶第二次走1阶 function stepsOnStairs(n){ var stairs = []; // ...原创 2019-12-07 16:50:11 · 114 阅读 · 0 评论