#leetCode

leetcode 263. Ugly Number 、264. Ugly Number II 、313. Super Ugly Number 、204. Count Primes

263.UglyNumber 注意:1.小于等于0都不属于丑数   2.while循环的判断不是num>=0,而是能被2、3、5整除,即能被整除才去除这些数classSolution{public:boolisUgly(intnum){if(num<=0)returnfalse;while(num...

leetcode 58. Length of Last Word

找最后一个word的长度。从后往前计算,找到第一个不是空的位置,然后从这个位置再继续找第一个为空的位置classSolution{public:intlengthOfLastWord(strings){intright=s.size()-1;while(right>=0){if(s[right]=='')righ...

leetcode 378. Kth Smallest Element in a Sorted Matrix

这道题求有序矩阵中第K小的元素,数组如下:二分的方法解决,时间复杂度: O(nlgX)。从左下角进行遍历classSolution{public:intkthSmallest(vector<vector<int>>&matrix,intk){intleft=matrix[0][...

leetcode 224. Basic Calculator 、227. Basic Calculator II

这种题都要设置一个符号位的变量224.BasicCalculator设置数值和符号两个变量,遇到左括号将数值和符号加进栈中 classSolution{public:intcalculate(strings){stack<int>st;intres=0,flag=1;for(inti=0;i<...

leetcode 169. Majority Element 、229. Majority Element II

169.MajorityElement求超过数组个数一半的数可以使用hash解决,时间复杂度为O(n),但空间复杂度也为O(n)classSolution{public:intmajorityElement(vector<int>&nums){unordered_map<int,int>...

leetcode 136. Single Number 、 137. Single Number II 、 260. Single Number III(剑指offer40 数组中只出现一次的数字)

136.SingleNumber除了一个数字,其他数字都出现了两遍。用异或解决,亦或的特点:1.相同的数结果为0,不同的数结果为1            2.与自己亦或为0,与0亦或为原来的数classSolution{public:intsingleNumber(vector<int>&nums)...

leetcode 155. Min Stack 、232. Implement Queue using Stacks 、225. Implement Stack using Queues

155.MinStackclassMinStack{public:/**initializeyourdatastructurehere.*/MinStack(){}voidpush(intx){if(s1.empty()&&s2.empty()){s1.push(x);s2.push(x);}else{...

leetcode 557. Reverse Words in a String III 、151. Reverse Words in a String

557.ReverseWordsinaStringIII最简单的把空白之间的词反转classSolution{public:stringreverseWords(strings){vector<int>blank;for(inti=0;i<s.size();i++){if(s[i]=='')blank...

leetcode 344. Reverse String 、541. Reverse String II 、796. Rotate String

344.ReverseString最基础的旋转字符串classSolution{public:voidreverseString(vector<char>&s){if(s.empty())return;intstart=0;intend=s.size()-1;while(start<end){...

leetcode 162. Find Peak Element

162.FindPeakElement前面递增,后面递减,一定有波峰二分法加快搜索的速度classSolution{public:intfindPeakElement(vector<int>&nums){intstart=0;intend=nums.size()-1;intmid;while(sta...

leetcode 88. Merge Sorted Array

合并到一个新的数组,直接比较就好了,这个题目是将nums1、nums2合并到nums1,nums1有许多多余的空间如果按照合并到一个新的数组从小比到大的方式进行比较,就需要每次挪动nums1的数组。本题可以采用从大到小的比较方式,这样就不用每次挪动数组。同时注意,m和n都是可以为0的,nums1不能为空,但nums2可...
代码星球 ·2020-10-13

leetcode 74. Search a 2D Matrix 、240. Search a 2D Matrix II

74.Searcha2DMatrix整个二维数组是有序排列的,可以把这个想象成一个有序的一维数组,然后用二分找中间值就好了。这个时候需要将全部的长度转换为相应的坐标,/col获得x坐标,%col获得y坐标classSolution{public:boolsearchMatrix(vector<vector<...

leetcode 704. Binary Search 、35. Search Insert Position 、278. First Bad Version

704.BinarySearch 1.使用start+1<end,这样保证最后剩两个数2.mid=start+(end-start)/2,这样避免接近max-int导致的溢出3.start、end直接等于mid4.最后比较两个位置classSolution{public:intsearch(vector...

leetcode 55. Jump Game、45. Jump Game II(贪心)

55. JumpGame第一种方法:只要找到一个方式可以到达,那当前位置就是可以到达的,所以可以breakclassSolution{public:boolcanJump(vector<int>&nums){intlength=nums.size();if(length<=0)ret...

leetcode 62. Unique Paths 、63. Unique Paths II

62.UniquePathsclassSolution{public:intuniquePaths(intm,intn){if(m<=0||n<=0)return0;vector<vector<int>>dp(m,vector<int>(n));dp[0][0]=1;fo...
代码星球 ·2020-10-13
首页上一页...1819202122...下一页尾页