#Leet

leetcode 139. Word Break 、140. Word Break II

139.WordBreak字符串能否通过划分成词典中的一个或多个单词。使用动态规划,dp[i]表示当前以第i个位置(在字符串中实际上是i-1)结尾的字符串能否划分成词典中的单词。j表示的是以当前i的位置往前找j个单词,如果在j个之前能正确分割,那只需判断当前这j单词能不能在词典中找到单词。j的个数不能超过词典最长单词的...

leetcode 329. Longest Increasing Path in a Matrix

329.LongestIncreasingPathinaMatrixhttps://www.cnblogs.com/grandyang/p/5148030.html这个题是在二维数组中找递增序列的最长长度。因为使用dfs都是从当前位置进行搜索,所以每次dp计算的值是以当前为起点的最长长度。这里使用了一个二维数组记录每个...

leetcode 334. Increasing Triplet Subsequence

334.IncreasingTripletSubsequencehttps://www.cnblogs.com/grandyang/p/5194599.html要求时间复杂度为O(N),空间复杂度为O(1)。解题思路:用a来记录最小的数,b来记录次小的数。如果当前数比之前的数还小,则需要更新。当a、b不需要更新时,则证...

leetcode 403. Frog Jump

403.FrogJumphttps://www.jiuzhang.com/solution/frog-jump/#tag-highlight-lang-cpp青蛙一次跳多少由上一次跳多少决定,上一次跳了k步,那么这次可以跳k-1,k,k+1这么多。从0开始,第一次只能跳一步,问能否调到最后一个石头上面。set存储的是所...
代码星球 ·2020-10-13

leetcode 166. Fraction to Recurring Decimal

166.FractiontoRecurringDecimalhttps://www.cnblogs.com/grandyang/p/4238577.html用一个哈希表判断余数是否重复,重复了就有无限循环小数,就可以停止加括号了classSolution{public:stringfractionToDecimal(i...

字典树(查找树) leetcode 208. Implement Trie (Prefix Tree) 、211. Add and Search Word

字典树(查找树)26个分支作用:检测字符串是否在这个字典里面插入、查找字典树与哈希表的对比:时间复杂度:以字符来看:O(N)、O(N)以字符串来看:O(1)、O(1)空间复杂度:字典树远远小于哈希表前缀相关的题目字典树优于哈希表字典树可以查询abc是否有ab的前缀字典树常考点:1.字典树实现2.利用字典树前缀特性解题3...

leetcode 374. Guess Number Higher or Lower 、375. Guess Number Higher or Lower II

374.GuessNumberHigherorLower二分查找就好//ForwarddeclarationofguessAPI.//@paramnum,yourguess//@return-1ifmynumberislower,1ifmynumberishigher,otherwisereturn0intguess(...

leetcode 50. Pow(x, n) 、372. Super Pow

50.Pow(x,n)   372.SuperPowhttps://www.cnblogs.com/grandyang/p/5651982.htmlhttps://www.jianshu.com/p/b256bd531df0做这个题之间先了解两个公式:公式一:a^bmodc=(amodc)...
代码星球 ·2020-10-13

leetcode 150. Evaluate Reverse Polish Notation

https://www.cnblogs.com/grandyang/p/4247718.html逆波兰表达式就是把操作数放前面,把操作符后置的一种写法。用stack解决就好了。因为tokens里面存的是string,所以判断+、-等符号时,都要是双引号"",不能用平时字符的单引号''。并且将string转换为int存储...

leetcode 73. Set Matrix Zeroes

73.SetMatrixZeroes题目要求是二维数组中出现0的地方所在行和所在列全变成0。题目的关键是O(1)的时间复杂度,也就是在原地做。思路:将第一行、第一列,除了(0,0)这个点的其他所有点用来记录这一行或者这一列是否出现0。具体做法:先判断第一行第一列本身是否有0,用两个变量保存。然后遍历从(1,1)到(n-...
代码星球 ·2020-10-13

leetcode 41. First Missing Positive

https://www.cnblogs.com/grandyang/p/4395963.htmlhttps://www.jianshu.com/p/cf82ce91dc3d找第一个消失的数,比如[2,3,4],第一个消失的就是1还是把值和索引相对应重新排数组,重新生成数组后,找第一个不满足的值等于索引的 &n...

leetcode 395. Longest Substring with At Least K Repeating Characters

395.LongestSubstringwithAtLeastKRepeatingCharactershttps://www.cnblogs.com/grandyang/p/5852352.html题目的要求是找一段字符串,这段字符串中每个单词出现的次数都必须至少超过k次,求满足这种条件的字符串的最长的长度。暴力的方法...

leetcode 611. Valid Triangle Number 、259. 3Sum Smaller(lintcode 918. 3Sum Smaller)

这两个题几乎一样,只是说611.ValidTriangleNumber满足大于条件,259.3SumSmaller满足小于条件,两者都是先排序,然后用双指针的方式。 611.ValidTriangleNumber判断这个数组能组成三角形的个数,利用两边之和大于第三边https://www.cnblogs.co...

leetcode 380. Insert Delete GetRandom O(1) 、381. Insert Delete GetRandom O(1)

380.InsertDeleteGetRandomO(1)实现插入、删除、获得随机数功能,且时间复杂度都在O(1)。实际上在插入、删除两个功能中都包含了查找功能,当然查找也必须是O(1)。数组可以实现插入、删除、获得随机数O(1),但查找就不行了。(当然对于数组,直接删除的时间复杂度不是O(1),因为可能需要移动)ha...

leetcode 384. Shuffle an Array

384. ShuffleanArrayc++random函数:https://www.jb51.net/article/124108.htmrand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。这样,如果你要产生0~10的10个整数,可以表达为:intN=ra...
首页上一页...1617181920...下一页尾页