首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
英梨梨
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
LeetCode 1000 Minimum Cost to Merge Stones
本题是区间DP的代表,类似的题目有Burst Balloons。 首先检查当前数组是否能够合并为一个pile。可以采用反推的方法:题目要求最后所有的stones能合并为1个,并且每次选连续的K个piles进行合并,那么每次合并,应该减少(K-1)个piles,一直减到1。那么意…
LeetCode 151 Reverse Words in a String
第一份代码是将各步骤分开写,第二份代码将各步骤合在一起。
LeetCode 154 Find Minimum in Rotated Sorted Array II
本题和LeetCode 81和LeetCode 153类似。当left、mid和right指向的元素大小相同时,是不能确定搜索区间应该如何变化的。所以,办法是保证left、mid和right不会同时指向大小相同的元素。当mid != left && nums[left] == …
LeetCode 153 Find Minimum in Rotated Sorted Array
二分查找,通过left,mid,right指向元素之间的关系改变搜索区间。对于一个递增的序列,有nums[left] < nums[mid] < nums[right],那么,我们考虑不满足递增序列的情况下,该如何改变搜索区间。如果nums[mid] < nums[left],…
LeetCode 162 Find Peak Element
此题思路很明显就是通过二分超着缩小搜索范围。本题采用左闭右闭区间,即[left, right]。mid1为区间中点,mid2为mid1+1。然后比较mid1指向的元素和mid2指向的元素。如果mid1指向的元素较大,说明结果在[left, mid1]。如果mid2指向的元素较大…
LeetCode 81 Search in Rotated Sorted Array II
二分查找。当nums[left] == nums[mid] && nums[right] == num[right]时,是无法确认下一步应该如何调整查找区间的,此时调整边界即可。此时有两种方案: 同时检查两个边界,nums[left] == nums[mid] && nums[…
LeetCode 80 Remove Duplicates from Sorted Array II
三个指针,i,j,k。每次循环,j指针都要向后移动一次,k指针指向当前值的一个,i指针指向需要被替换的元素。当j和k指向的值相等时,判断j和k的距离,如果距离大于1,则j与k之前的重复元素大于等于3个,此时j指针继续向前走,i指针位置不变。j一直向前走到一个新值,然后更新k,并…
LeetCode 77 Combinations
递归。数组的size为k时,添加到结果集。 迭代。还是递归的思路,只不过将递归转化为迭代而已。i对应cur。
LeetCode 66 Plus One
这里仅仅是加一,所以,产生进位的情况只有与9相加的时候。这里直接申请一个全新的vector速度更快。如果使用digits.insert(digits.begin(), 1),由于要调整内存,速度会很慢。
LeetCode 60 Permutation Sequence
采用Next Permutation的方法。 不难发现,总共有n!个permutation。按照第一个元素的值将permutation划分为不同的组,可见每组有(n-1)!个permutation。那么考虑通过这一特性,直接确定每个位置的值。以n为4,k为9,结果为2314举例…
下一页
个人成就
文章被阅读
9,149
掘力值
371
关注了
0
关注者
0
收藏集
0
关注标签
4
加入于
2020-03-21