Andrexxelles

method1

Jan 7th, 2025
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.93 KB | None | 0 0
  1.         public int FindLHS(int[] nums)
  2.         {
  3.             int length = 0;
  4.        
  5.             // Getting all numbers in the array without diplicates
  6.             HashSet<int> uniqueNumbers = new HashSet<int>(nums);
  7.        
  8.             // TEMP variable for calculating. It means range necessary numbers.
  9.             HashSet<int> range;
  10.            
  11.             // TEMP variable for current subsequence's length
  12.             int _length;
  13.        
  14.             foreach (var number in uniqueNumbers)
  15.             {
  16.                 bool containedLargeNumber = uniqueNumbers.Contains(number + 1);
  17.                 if (containedLargeNumber is false) continue;
  18.        
  19.                 range = new HashSet<int>() { number, number + 1 };
  20.        
  21.                 _length = nums.Count(_num => range.Contains(_num));
  22.        
  23.                 length = Math.Max(_length, length);
  24.             }
  25.        
  26.             return length;
  27.         }
Advertisement
Add Comment
Please, Sign In to add comment