1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| class Solution {
public int longestConsecutive(int[] nums) { HashMap<Integer,Integer> hash = new HashMap<>(); for(var x : nums){ hash.put(x,x); } int ans = 0; for(var x : nums){ if(hash.containsKey(x - 1) == false){ int right = hash.getOrDefault(x,0); while (hash.containsKey(right)){ right++; } hash.put(x,right); ans = Math.max(ans,right - x); } } return ans; } }
|