leetcode(hot100)3

解题思路:本题用的是unordered_set,只需要集合就行 set存储的数据不能重复,将所有的数据都存储在set中,然后寻找验证它是不是开头(通过寻找num-1),然后验证它的下一个数存不存在,存在结果就加一,数字也加一,不存在就跳过。

cpp 复制代码
class Solution {
public:
    int longestConsecutive(vector<int>& nums) {
        unordered_set<int>set(nums.begin(),nums.end());
        int sum = 0;
        for(int num : set){
            if(!set.count(num-1)){
                int currentnum = num;
                int currentstack = 1;
                while(set.count(currentnum + 1)){
                    currentnum += 1;
                    currentstack += 1;
                }
                sum = max(currentstack,sum);
            }
        }
        return sum;
    }
};
相关推荐
Tisfy5 小时前
LeetCode 2839.判断通过操作能否让字符串相等 I:if-else(两两判断)
算法·leetcode·字符串·题解
Aaswk10 小时前
刷题笔记(回溯算法)
数据结构·c++·笔记·算法·leetcode·深度优先·剪枝
QuZero10 小时前
JDK7 ConcurrentHashMap principle
java·哈希算法
Frostnova丶11 小时前
(11)LeetCode 239. 滑动窗口最大值
数据结构·算法·leetcode
参.商.11 小时前
【Day48】46. 全排列
leetcode·golang
123过去13 小时前
responder使用教程
linux·网络·测试工具·安全·哈希算法
宵时待雨13 小时前
C++笔记归纳17:哈希
数据结构·c++·笔记·算法·哈希算法
liuyao_xianhui14 小时前
优选算法_栈_删除字符中的所有相邻重复项_C++
开发语言·数据结构·c++·python·算法·leetcode·链表
老虎062714 小时前
LeetCode热题100 刷题笔记(第三天)链表 「两数相加」
笔记·leetcode·链表
会编程的土豆15 小时前
【leetcode hot 100】二叉树
算法·leetcode