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;
    }
};
相关推荐
念何架构之路3 小时前
Go语言加密算法
数据结构·算法·哈希算法
失去的青春---夕阳下的奔跑3 小时前
560. 和为 K 的子数组
数据结构·算法·leetcode
m0_629494734 小时前
LeetCode 热题 100-----25.回文链表
数据结构·算法·leetcode·链表
吃着火锅x唱着歌6 小时前
LeetCode 1019.链表中的下一个更大节点
算法·leetcode·链表
Tirzano7 小时前
超大型组和用户缓存redis
redis·缓存·哈希算法
凌波粒7 小时前
LeetCode--404.左叶子之和(二叉树)
算法·leetcode·职场和发展
绝知此事7 小时前
【算法突围 03】核心算法思想:分治/递归/动态规划与 LeetCode 高频真题解析
算法·leetcode·面试·动态规划
阿Y加油吧8 小时前
两道字符串 DP 模板题复盘:最长公共子序列 & 编辑距离
leetcode
我爱cope9 小时前
【力扣hot100:76. 最小覆盖子串】
算法·leetcode·职场和发展
один but you9 小时前
unorder_map 和unorder_set
算法·哈希算法·散列表