diff --git a/src/test/java/LeetCode/Maximum_Number_of_Distinct_Elements_After_Operations/LC_maxnodisteleafterop.java b/src/test/java/LeetCode/Maximum_Number_of_Distinct_Elements_After_Operations/LC_maxnodisteleafterop.java new file mode 100644 index 00000000..7858c26e --- /dev/null +++ b/src/test/java/LeetCode/Maximum_Number_of_Distinct_Elements_After_Operations/LC_maxnodisteleafterop.java @@ -0,0 +1,17 @@ +import java.util.*; +class LC_maxnodisteleafterop { + public int maxDistinctElements(int[] nums, int k) { + if (nums.length <= (k << 1) + 1) return nums.length; + Arrays.sort(nums); + int distinct = 0; + int l = Integer.MIN_VALUE; + for (int i = 0; i < nums.length; i++) { + int m = Math.max(l+1, nums[i]-k); + if (m <= nums[i]+k) { + distinct++; + l = m; + } + } + return distinct; + } +}