diff --git "a/leetcode3/\354\227\274\355\230\234\354\240\225/3940. Limit Occurrences in Sorted Array.java" "b/leetcode3/\354\227\274\355\230\234\354\240\225/3940. Limit Occurrences in Sorted Array.java" new file mode 100644 index 00000000..918aeb5f --- /dev/null +++ "b/leetcode3/\354\227\274\355\230\234\354\240\225/3940. Limit Occurrences in Sorted Array.java" @@ -0,0 +1,17 @@ +// o(n) + +class Solution { + public int[] limitOccurrences(int[] nums, int k) { + int n = nums.length, idx = 0; + int[] res = new int[n]; + int i = 0; + while (i < n) { + int j = i; + while (j < n && nums[j] == nums[i]) j++; + int count = Math.min(j - i, k); + for (int c = 0; c < count; c++) res[idx++] = nums[i]; + i = j; + } + return java.util.Arrays.copyOf(res, idx); + } +}