#leetCode

leetcode 172. Factorial Trailing Zeroes(阶乘的末尾有多少个0)

 数字的末尾为0实际上就是乘以了10,20、30、40其实本质上都是10,只不过是10的倍数。10只能通过2*5来获得,但是2的个数众多,用作判断不准确。以20的阶乘为例子,造成末尾为0的数字其实就是5、10、15、20。多次循环的n,其实是使用了多个5的数字,比如25,125等等。n/5代表的是有多个少含5...

leetcode 268. Missing Number

用异或解决 classSolution{public:intmissingNumber(vector<int>&nums){intlength=nums.size();if(length<=0)return-1;intres=0;for(inti=1;i<=nums.size(...
代码星球 ·2020-10-13

leetcode 189. Rotate Array

注意k可能大于lengthclassSolution{public:voidrotate(vector<int>&nums,intk){intlength=nums.size();if(length<=1||k<=0)return;k=k%length;rotate_core(nums,...
代码星球 ·2020-10-13

leetcode 118. Pascal's Triangle 、119. Pascal's Triangle II 、120. Triangle

118.Pascal'sTriangle第一种解法:比较麻烦https://leetcode.com/problems/pascals-triangle/discuss/166279/cpp-beats-1002018.9.3(with-annotation) classSolution{public:vec...

leetcode 125. Valid Palindrome

  classSolution{public:boolisPalindrome(strings){intlength=s.length();if(length<=0)returntrue;intleft=0;intright=length-1;while(left<right){whil...

leetcode 202. Happy Number

 classSolution{public:boolisHappy(intn){if(n<=0)returnfalse;set<int>res;while(res.count(n)==0){res.insert(n);intnum=0;while(n!=0){num+=(n%10)*(n%1...
代码星球 ·2020-10-13

leetcode 69. Sqrt(x)

牛顿迭代法https://blog.csdn.net/hnu2012/article/details/72598038https://www.cnblogs.com/liujinhong/p/6014973.html //牛顿法classSolution{public:intmySqrt(intx){if(x...
代码星球 ·2020-10-13

剑指offer 最小的k个数 、 leetcode 215. Kth Largest Element in an Array 、lintcode 80. Median、295. Find Median from Data Stream(剑指 数据流中位数) topK

  注意multiset的一个bug:multiset带一个参数的erase函数原型有两种。一是传递一个元素值,如上面例子代码中,这时候删除的是集合中所有值等于输入值的元素,并且返回删除的元素个数;另外一种是传递一个指向某个元素的iterator,这时候删除的就是这个对应的元素,无返回值。https...

leetcode231 2的幂 leetcode342 4的幂 leetcode326 3的幂

1.2的幂正确写法:classSolution{public:boolisPowerOfTwo(intn){if(n<=0)returnfalse;return(n&(n-1))==0;}};错误写法1:&符号的短路原则,如果&前面为false了就不会计算后面的了classSolution...

leetcode300. Longest Increasing Subsequence 最长递增子序列 、674. Longest Continuous Increasing Subsequence

 LongestIncreasingSubsequence最长递增子序列 子序列不是数组中连续的数。dp表达的意思是以i结尾的最长子序列,而不是前i个数字的最长子序列。初始化是dp所有的都为1,最终的结果是求dp所有的数值的最大值。 classSolution{public:intleng...

leetcode64. Minimum Path Sum

这个题是从左上角到右下角的路径和最小,实际就是一道dp题。第一种写法是只初始化(0,0)位置,第二种写法则是把第一行、第一列都初始化了。个人更喜欢第二种写法,简单一点。dp的右下角的值就为最终的值第一种写法:classSolution{public:intminPathSum(vector<vector<i...
代码星球 ·2020-10-13

leetcode 20 括号匹配

 classSolution{public:boolisValid(strings){stack<char>result;for(charc:s){if(c=='('||c=='['||c=='{')result.push(c);else{if(result.empty())returnfalse...
代码星球 ·2020-10-13

leetcode 1.Two Sum 、167. Two Sum II

 1.twosum用hash来存储数值和对应的位置索引,通过target-当前值来获得需要的值,然后再hash中寻找错误代码1:Input:[3,2,4]6Output:[0,0]Expected:[1,2]同一个数字不能重复使用,但这个代码没排除这个问题classSolution{public:vector...
代码星球 ·2020-10-13

leetcode 67. Add Binary 、2. Add Two Numbers 、445. Add Two Numbers II 、43. Multiply Strings 字符串相乘 、29. Divide Two Integers

对于几进制,其实主要就是对进制取余和整除,取余的结果就是当前位的,整除的结果就是进位的。 67.AddBinaryhttps://www.cnblogs.com/grandyang/p/4084971.html从两个string的末尾开始转int型相加,注意carry的计算。如果某一个数少于另一个数,就用0代...

leetcode 78. Subsets 、90. Subsets II

第一题是输入数组的数值不相同,第二题是输入数组的数值有相同的值,第二题在第一题的基础上需要过滤掉那些相同的数值。  level代表的是需要进行选择的数值的位置。 78.Subsets错误解法:classSolution{public:vector<vector<int>&...
代码星球 ·2020-10-13
首页上一页...2223242526...下一页尾页