leetcode128题,128. 最长连续序列 - 力扣(LeetCode)
我的代码:
int longestConsecutive(vector<int>& nums) {
unordered_map<int,int> hashtable;
int i = 0;
int temp;
int tempLength = 0;
int maxLength = 0;
//将原数组中元素存入哈希表中
for (i = 0; i < nums.size(); i++)
{
hashtable[nums[i]] = i;
}
while (!hashtable.empty())
{
tempLength++;
temp = hashtable.begin()->first;
hashtable.erase(temp);
while (hashtable.find(temp + 1) != hashtable.end())
{
tempLength++;
temp++;
hashtable.erase(temp);
}
while (hashtable.find(temp - 1) != hashtable.end())
{
tempLength++;
temp--;
hashtable.erase(temp);
}
if (tempLength > maxLength)
{
maxLength = tempLength;
tempLength = 0;
}
}
return maxLength;
}
猜测可能是迭代时有问题,但不清楚具体情况,在之前做有关哈希表题目时也出现了相同问题
699

被折叠的 条评论
为什么被折叠?



