最长连续序列—leetcode128
生活随笔
收集整理的這篇文章主要介紹了
最长连续序列—leetcode128
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
給定一個未排序的整數(shù)數(shù)組,找出最長連續(xù)序列的長度。
要求算法的時間復(fù)雜度為?O(n)。
示例:
輸入:?[100, 4, 200, 1, 3, 2]
輸出: 4
解釋: 最長連續(xù)序列是 [1, 2, 3, 4]。它的長度為 4。
?
思路:排序之后再遍歷就比較簡單了,要注意的是需要跳過nums[i]==nums[i-1]的值,這些值是當(dāng)成一個值來算的
class Solution { public:int longestConsecutive(vector<int>& nums) {int n = nums.size();if(n==0){return 0;}int result = 1;sort(nums.begin(),nums.end());int temp = 1;for(int i=1;i<n;++i){if(nums[i]!=nums[i-1]){if(nums[i]==nums[i-1]+1){temp++;}else{result = max(result, temp);temp = 1;}}}result = max(result, temp);return result;} };?
總結(jié)
以上是生活随笔為你收集整理的最长连续序列—leetcode128的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单词拆分—leetcode139
- 下一篇: 最小覆盖字串—leetcode76