titan2400

Longest Consecutive Sequence - LeetCode

Nov 1st, 2025
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.68 KB | Source Code | 0 0
  1. // Longest Consecutive Sequence - https://leetcode.com/problems/longest-consecutive-sequence/description/
  2.  
  3. class Solution {
  4.  
  5.     // Sorting
  6.     // Time Complexity: O(nlogn)
  7.     // Space Complexity: O(1)
  8.     // public int longestConsecutive(int[] nums) {
  9.  
  10.     //     if(nums.length == 0) {
  11.     //         return 0;
  12.     //     }
  13.  
  14.     //     int maxCount = 1;
  15.     //     Arrays.sort(nums);
  16.  
  17.     //     for(int i = 0; i < nums.length - 1; i++) {
  18.     //         int count = 1;
  19.     //         while(i < nums.length - 1
  20.     //             && (nums[i] + 1 == nums[i + 1]
  21.     //                 || nums[i] == nums[i + 1])) {
  22.                
  23.  
  24.     //             if ( i < nums.length - 1 && nums[i] == nums[i + 1]) {
  25.     //                 i++;
  26.     //                 continue;
  27.     //             }
  28.  
  29.     //             count++;
  30.     //             i++;
  31.     //         }
  32.  
  33.     //         if (count > maxCount) {
  34.     //             maxCount = count;
  35.     //         }
  36.     //     }
  37.  
  38.     //     return maxCount;
  39.     // }
  40.  
  41.     // HashSet
  42.     // Time Complexity: O(n)
  43.     // Space Complexity: O(n)
  44.     public int longestConsecutive(int[] nums) {
  45.         if(nums.length == 0) {
  46.             return 0;
  47.         }
  48.  
  49.         Set<Integer> set = new HashSet<>();
  50.  
  51.         for(int num: nums) {
  52.             set.add(num);
  53.         }
  54.  
  55.         int maxCount = 1;
  56.         for(int num: set) {
  57.             if(!set.contains(num - 1)) {
  58.                 int count = 1;
  59.                 while(set.contains(num + count)) {
  60.                     count++;
  61.                 }
  62.  
  63.                 maxCount = Math.max(count, maxCount);
  64.             }
  65.            
  66.         }
  67.  
  68.         return maxCount;
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment