/
githubmirror
/
interviews
Обзор
Документация
Войти
/
githubmirror
/
interviews
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
leetcode/array/LongestConsecutiveSequence.java
37 строк
1 KB
Kevin Naughton Jr
added modified solution for LongestConsecutiveSequence.java
04 июн 2018, 01:57
04 июн 2018, 01:57
e81f4e5
Код
Авторство
О чём код?
// Given an unsorted array of integers, find the length of the longest consecutive elements sequence. // For example, // Given [100, 4, 200, 1, 3, 2], // The longest consecutive elements sequence is [1, 2, 3, 4]. Return its length: 4. // Your algorithm should run in O(n) complexity. class LongestConsecutiveSequence { public int longestConsecutive(int[] nums) { if(nums == null || nums.length == 0) { return 0; } Set<Integer> set = new HashSet<Integer>(); for(int n: nums) { set.add(n); } int maxLength = 0; for(int n: set) { if(!set.contains(n - 1)) { int current = n; int currentMax = 1; while(set.contains(n + 1)) { currentMax++; n++; } maxLength = Math.max(maxLength, currentMax); } } return maxLength; } }