Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public int FindLHS(int[] nums)
- {
- int length = 0;
- // Getting all numbers in the array without diplicates
- HashSet<int> uniqueNumbers = new HashSet<int>(nums);
- // TEMP variable for calculating. It means range necessary numbers.
- HashSet<int> range;
- // TEMP variable for current subsequence's length
- int _length;
- foreach (var number in uniqueNumbers)
- {
- bool containedLargeNumber = uniqueNumbers.Contains(number + 1);
- if (containedLargeNumber is false) continue;
- range = new HashSet<int>() { number, number + 1 };
- _length = nums.Count(_num => range.Contains(_num));
- length = Math.Max(_length, length);
- }
- return length;
- }
Advertisement
Add Comment
Please, Sign In to add comment