import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param tag int整型一维数组
     * @return int整型
     */
    public int longestConsecutive (int[] tag) {
        // write code here
        Set<Integer> set = new HashSet<>();
        for (int i = 0; i < tag.length; i++) {
            set.add(tag[i]);
        }
        int ans = 0;
        for (Integer value : set) {
            int count = 1;
            while (set.contains(value + 1)) {
                count++;
                value++;
            }
            ans = Math.max(ans, count);
        }
        return ans;
    }
}

本题考察的知识点是哈希表的应用,所用编程语言是java。

我采用的是双重循环,并不是0(n)时间复杂度