题目地址:https://leetcode.com/problems/longest-consecutive-sequence/
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.
For example,
Given [100, 4, 200, 1, 3, 2]
,
The longest consecutive elements sequence is [1, 2, 3, 4]
. Return its length: 4
.
题目的要求是在数组中找到最长的连续元素序列, 这一题解决方法很简单,先使用排序sort(nums.begin(),nums.end())。然后计算连续的递增序列就好,该方法提交可击败98%玩家。代码如下:
class Solution {
public:
int longestConsecutive(vector<int>& nums) {
sort(nums.begin(), nums.end());
int count = 1;
int max = 1;
for (int i = 1; i < nums.size(); i++) {
if(nums[i] == nums[i - 1])
continue;
if (nums[i] - nums[i - 1] == 1) {
count++;
if (count > max)
max = count;
}
else
count = 1;
}
return max;
}
};