leetcode hot 07

解题思路:因为可能存在相同的数,所以运用到HashSet去重,然后遍历hashset每个数num,如果num-1不在hashset中,那么num就是序列开头,然后继续查找num++,直到hashset中找不到为止,记录长度,最后取最长的长度。

class Solution {
    public int longestConsecutive(int[] nums) {
        Set<Integer> hashset = new HashSet<>();
        int maxlength = 0;
        for(int num:nums) hashset.add(num);
        for(int num:hashset){
            if(!hashset.contains(num-1)){
                int i = 0;
                while(hashset.contains(num+i)){
                    i++;
                }
                // if(i>maxlength) maxlength=i;
                maxlength = Math.max(i,maxlength);
            }
        }
        return maxlength;
    }
}
posted @   kukudev  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示