首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Yes_Minister
掘友等级
sde 后端开发
|
Expedia
专注于Leetcode Hard,不定期分享面试准备
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
8
文章 8
沸点 0
赞
8
返回
|
搜索文章
赞
文章( 8 )
沸点( 0 )
每天两道LeetCodeHard:(13)
84. Largest Rectangle in Histogram 数组中的每个数代表一个高度,让求最大的面积。 最后得到更新最大面积即可。但是这个办法时间复杂度是O2,会在最后一个test报超时。进而发现其实很多次的运算都是无意义的,比如当下一个值比当前的最小值大的时候,无…
每天两道LeetCodeHard:(12)
76. Minimum Window Substring 经典的滑窗题目,没什么好想的,直接动态滑窗就行了。注意是要出现次数都和T中一致,所以先把右边界延伸,直到包含所有T为止,然后移动左边界,直到无法再移动为止,保持这个长度整体移动,总是尝试去移动左边界,直到右边界到末尾且左…
每天两道LeetCodeHard:(47)
312. Burst Balloons 给一排的气球,每次扎了之后会得到左乘右乘中间的硬币,要求寻找最大的获取硬币的方式。 这个题最初的想法肯定是dfs+memo来做,这个想法其实并不是很难,但是这个题长度为500,用dfs做时间复杂度肯定是要炸的。那么结论就很清晰了,百分百是…
每天两道LeetCodeHard:(48)
315. Count of Smaller Numbers After Self 最初的想法是用单调栈来实现,实际就是查找当前的这个数字在目前排第几,然后把比他大的位置都加一,栈里面存的是下标,然后如果目前值比栈顶小,就pop,加一,然后重复,直到找到位置,这样的时间复杂度是O…
每天两道LeetCodeHard:(11)
72. Edit Distance 这个题也算是经典的字符串变换问题了,常规的思路是dfs或者是dp来递归解决这个问题。但是这个题的特殊点在于,按照什么原则选择插入位置,以及插入什么字符,如果直接暴力解的话复杂度就太高了。所以遇到这种问题,我们可以先举几个例子来找状态转移方程,…
每天两道LeetCodeHard:(49)
316. Remove Duplicate Letters 题目非常直白,去掉重复也很容易,难点在于如何保持字典序最小。所以我的想法是用滑动窗口来做,在维持包含所有字母的情况下更新字典序最小的子序列。看了答案恍然大悟,其实这个题用py做最快,因为只要发现有比栈顶元素字典序小,然…
每天两道LeetCodeHard:(50)
321. Create Maximum Number 看到这种确定解空间的题目,第一反应就是应该是用dp来做,而且由于有两个数组+一个k,所以应该是三维的dp,那么接下来就是寻找递推关系了。 三维dp的初始化也比较麻烦,要初始化1个点,3个边和3个面,分别是i,j,k各自为0,…
每天两道LeetCodeHard:(1)
然后要找中位数,最直接的想法肯定是用直接拼一起sort,但是复杂度是m+n(log (m+n))了,也不行。 再仔细想想,中位数还可以用平衡二叉树的思路,也就是两个堆来做,但是由于不用动态保持,所以两个堆的意义也不是很大。 这句话是从评论区高赞老哥的思路中总结出来的,的确是很妙…
个人成就
文章被点赞
8
文章被阅读
8,152
掘力值
166
关注了
7
关注者
2
收藏集
0
关注标签
8
加入于
2020-06-14