美文网首页
128. 最长连续序列

128. 最长连续序列

作者: justonemoretry | 来源:发表于2021-08-28 11:08 被阅读0次
    image.png

    解法

    class Solution {
        public int longestConsecutive(int[] nums) {
            // set存储元素,只关心是否存在,不关心位置
            Set<Integer> set = new HashSet<>();
            for (int num : nums) {
                set.add(num);
            }
            int maxLen = 0;
            for (int num : nums) {
                // set里面没有当前元素前一个值时,从这个元素开始算连续长度
                // 有前一个值就不用算了,再算也不会比上个值为起点算大了
                if (!set.contains(num - 1)) {
                    int curLen = 1;
                    while (set.contains(++num)) {
                        curLen += 1;
                    }
                    maxLen = Math.max(curLen, maxLen);
                }
            }
            return maxLen;
        }
    }
    

    相关文章

      网友评论

          本文标题:128. 最长连续序列

          本文链接:https://www.haomeiwen.com/subject/ixaeiltx.html