zoukankan      html  css  js  c++  java
  • #Leetcode# 128. Longest Consecutive Sequence

    https://leetcode.com/problems/longest-consecutive-sequence/

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence.

    Your algorithm should run in O(n) complexity.

    Example:

    Input: [100, 4, 200, 1, 3, 2]
    Output: 4
    Explanation: The longest consecutive elements sequence is [1, 2, 3, 4]. Therefore its length is 4.

    代码:

    class Solution {
    public:
        int longestConsecutive(vector<int>& nums) {
            if(nums.empty()) return 0;
            sort(nums.begin(), nums.end());
            set<int> s;
            int n = nums.size();
            if(n == 1) return 1;
            int ans = 1;
            for(int i = 0; i < n; i ++) {
                int temp = i;
                while(temp < n - 1 && (nums[temp] == nums[temp + 1] || nums[temp] + 1 == nums[temp + 1])) {
                    s.insert(nums[temp]);
                    temp ++;
                }
                s.insert(nums[temp]);
                ans = max(ans, (int)s.size());
                s.clear();
                i = temp;
            }
            return ans;
        }
    };
    

      盒盒盒盒盒盒盒盒盒盒盒盒~ 两天了啊 终于过了 原来我离答案那么近 也太开心了吧

  • 相关阅读:
    app-授权登录插件配置
    微信公众号-公众号设置-功能设置
    Java变量
    Java数据类型
    计算机存储单元
    Java常量
    k8s
    第一个Java程序
    旋转木马
    tools
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/10041325.html
Copyright © 2011-2022 走看看