Advertisement
3397. Maximum Number of Distinct Elements After Operations
UnknownView on LeetCode
3397.cs
C#
public class Solution
{
public int MaxDistinctElements(int[] nums, int k)
{
Array.Sort(nums);
int n = nums.Length;
int distinctCount = 0;
int previousValue = int.MinValue;
foreach (int currentNum in nums)
{
int optimalValue = Math.Min(currentNum + k, Math.Max(currentNum - k, previousValue + 1));
if (optimalValue > previousValue)
{
distinctCount++;
previousValue = optimalValue;
}
}
return distinctCount;
}
}Advertisement
Was this solution helpful?