目录
1.最长连续序列
题目描述编辑
通过代码
2.移动零
题目描述
通过代码
3.盛最多水的容器
题目描述
通过代码
1.最长连续序列
题目描述
通过代码
class Solution {
public:int longestConsecutive(vector<int>& nums) {//排序,相同字母跳过,两个变量前后对比连续序列//考虑空数组sort(nums.begin(),nums.end());int size=nums.size();if(size<=1)return size;int tmp=1;int max=1;for(int i=0;i<size-1;i++){if(nums[i]==nums[i+1])continue;if(nums[i]+1==nums[i+1]){tmp++;}else{ if(tmp>max)max=tmp;tmp=1;}}if(max<tmp)max=tmp;return max;}
};
2.移动零
题目描述
通过代码
class Solution {
public:void moveZeroes(vector<int>& nums) {//遇到0就记录下数量int size=nums.size();int i=0;int j=0;for(;i<size;i++){if(nums[i]!=0){nums[j]=nums[i];j++;}}for(j;j<size;j++)nums[j]=0;}
};
3.盛最多水的容器
题目描述
通过代码
class Solution {
public:int maxArea(vector<int>& height) {//需要考虑时间复杂度int size=height.size();int i=0;int j=size-1;int res=0;while(i<j){//这块要有很好的优化比较思路res=height[i]<height[j]?max(res,(j-i)*height[i++]):max(res,(j-i)*height[j--]);}return res;}
};