会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
美不胜收
作之不止,乃成君子
博客园
首页
新随笔
联系
订阅
管理
2020年5月31日
LeetCode(单调栈专题)
摘要: 单调栈的定义 单调栈,顾名思义,是维持单调递增或递减的栈 单调栈的性质 单调递增栈 单调递增栈的形式如上,适合寻找,距离他最近的,比他小的,左右两边元素 单调递减栈 与单调递增栈的用法相反 题目 84. 柱状图中最大的矩形 单调递增栈的原理 class Solution { public: int
阅读全文
posted @ 2020-05-31 13:29 美不胜收
阅读(1097)
评论(1)
推荐(0)
2020年3月20日
零钱兑换(LeetCode 322)
摘要: 题意 各种币值的硬币个数充足,如何使用最少的硬币凑出指定的钱 思路 这个题使用动态规划解题。当前的状态只与币值的种类有关,所以是线性动态规划 状态定义: dp[i] : 凑出i块钱,所需硬币的最小个数为dp[i] 状态转移方程: dp[i] = min(dp[i j], j is the value
阅读全文
posted @ 2020-03-20 18:34 美不胜收
阅读(331)
评论(0)
推荐(0)
打家劫舍(LeetCode 198)
摘要: 思路 这是一道线性动态规划,当前的状态只与特定数量的前边状态相关。 状态的定义: dp[i] : 小偷偷到第i间房时,偷到的最大金额为dp[i] 状态转移方程: dp[i] = max(dp[i 1], dp[i 2]+nums[i]) 初始状态: dp[0] = 0 dp[1] = nums[0]
阅读全文
posted @ 2020-03-20 18:10 美不胜收
阅读(152)
评论(0)
推荐(0)
最长上升子序列(LeetCode 300)
摘要: 题意 在一个乱序的数组中,找到最长上升子序列 思路 这是一个动态规划的题目。其中是和一个区间有关,这种动态规划叫做区间型动态规划。这种状态的定义是截止到某一个区间的性质。 所以, 状态的定义: dp[i] : 到i这个位置(包含i),最长上升子序列 状态转移方程: dp[i] = max(dp[j]
阅读全文
posted @ 2020-03-20 17:46 美不胜收
阅读(316)
评论(0)
推荐(0)
动态规划题目的特点
摘要: 
阅读全文
posted @ 2020-03-20 16:20 美不胜收
阅读(206)
评论(0)
推荐(0)
单词拆分(LeetCode 139)
摘要: 题意 这个题意要理解透了才行,转换成我自己理解的题意: 有一个字符串s,还有一个单词字典wordDict,问题的关键是能否用wordDict里的单词组合出字符串s。 思路 这个题可以使用动态规划来解决。动态规划最重要的是状态的定义,好的状态定义能够使解题非常简便。 状态定义: $dp[i]$:长度为
阅读全文
posted @ 2020-03-20 15:17 美不胜收
阅读(392)
评论(0)
推荐(0)
公告