![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode刷题
文章平均质量分 70
招聘刷Leetcode的笔记
我在路易斯安那
想过什么样的生活,就去吃什么样的苦
展开
-
每天一道动态规划——第五天
上左程云大神的课学到了第五题的时候,大神认为动态规划目前可以分为3类(当然后续还会有更复杂的动态规划模型)从左到右模型就是我的文章《每天一道动态规划——第二天》里说的玩家分别拿牌的问题。玩家一般是从左到右(按顺序)有不同的选择。今天我们将要学到的样本模型是一种需要考虑结尾样本所有可能选择的模型。最最最重要的还是要强调自然智慧。同时我觉得最好从边界开始尝试,因为一般边界涉及的东西比较少,人不至于麻了哈哈。原创 2023-09-15 11:39:41 · 113 阅读 · 0 评论 -
每天一道动态规划之第四天
给定一个字符串str,给定一个字符串类型的数组arr,出现的字符都是小写英文arr每一个字符串,代表一张贴纸,你可以把单个字符剪开使用,目的是拼出str来返回需要至少多少张贴纸可以完成这个任务例子: str= “babac,arr = [ba”,“c”“abcd”]把每一个字符单独剪开,含至少需要两张贴纸"ba"和"abcd”,因为使用这两张贴纸,有2个a、2个b、1个c。一般是用缓存去优化,但这里是一个与之前构建dp表不同的一个优化,他优化的点有两个一个是词频表的建立,一个是剪枝。原创 2023-09-02 21:05:50 · 157 阅读 · 0 评论 -
每天一道动态规划——第二天
通过第一道的动态规划,有没有点感觉了?一般我们就是先暴力递归,自己多试试,试试感觉就出来了。然后加缓存,这种傻缓存,一般就是不依赖之前的状态,还有递归。后面就直接从初始状态把所有的表格的内容都给推完了,最后返回需要的就可以了。好,拿着这些体会来看第二题!这一题里希望我能解决我的一个思维大坑。当涉及到我如何通过每一小步的决策获取全局的最大值的问题,我就会想:早胖不算胖,晚胖压塌炕。我怎么能具有全局观呢?这个二维数组dp的行和列的含义又该怎么界定呢?原创 2023-08-28 09:10:20 · 71 阅读 · 1 评论 -
每天一道动态规划——第一天
我并不关心你之前的状态,你只要给我当前的状态我就会给你个输出。那我们就不需要递归调用了,只需要根据表格的初始情况以及一些规律,把整张表格填写好了,就可以得出我们想要的结果了。初步入门动态规划就是这些了,我们接下来都要从初始的暴力动态规划,一步步推到这种状态转移过程,加油!第0列的其余值均为0,即dp[i][0]=0,i≠4。一共有N个位置,机器人从当前位置cur走到目标位置aim,有res步可以走,问一共有多少种方法。在这种情况下,在res=0,cur=aim=4的时候方法才为1.原创 2023-08-26 16:59:19 · 102 阅读 · 0 评论