leetcode-128. 最长连续序列
class Solution { public: int longestConsecutive(vector<int>& nums) { if(nums.size()==0) return 0; if(nums.size()==1) return 1; sort(nums.begin(), nums.end()); int sum = 0; for(int i = 0; i < nums.size()-1; i++){ int count = 1; while(i < nums.size()-1){ if(nums[i+1]-nums[i]==1){ // 连续的情况 count ++; i++; }else if(nums[i+1]-nums[i]==0){ // 可能有相等值出现的情况, i++; }else{ // 其余的情况 break; } } sum =max(sum, count); } return sum; } };
下面这个比我的还要简单一点。