From c4fc61e61a8f20f4001c23c70a1e44b2ca1d105c Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Sat, 25 Apr 2026 14:24:00 +0300 Subject: [PATCH 1/3] Added task 3759 --- .../Solution.java | 22 ++++++++++++ .../readme.md | 36 +++++++++++++++++++ .../SolutionTest.java | 18 ++++++++++ 3 files changed, 76 insertions(+) create mode 100644 src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/Solution.java create mode 100644 src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/readme.md create mode 100644 src/test/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/SolutionTest.java diff --git a/src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/Solution.java b/src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/Solution.java new file mode 100644 index 000000000..8cc4d6ff8 --- /dev/null +++ b/src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/Solution.java @@ -0,0 +1,22 @@ +package g3701_3800.s3759_count_elements_with_at_least_k_greater_values; + +// #Medium #Array #Sorting #Binary_Search #Divide_and_Conquer #Quickselect #Senior +// #Weekly_Contest_478 #2026_04_25_Time_40_ms_(96.15%)_Space_134.18_MB_(73.08%) + +public class Solution { + public int countElements(int[] nums, int k) { + if (k == 0) { + return nums.length; + } + Arrays.sort(nums); + int i = nums.length - k; + int n = nums[i]; + if (nums[0] == n) { + return 0; + } + while (n == nums[i]) { + i--; + } + return i + 1; + } +} diff --git a/src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/readme.md b/src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/readme.md new file mode 100644 index 000000000..0acf1ac95 --- /dev/null +++ b/src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/readme.md @@ -0,0 +1,36 @@ +3759\. Count Elements With at Least K Greater Values + +Medium + +You are given an integer array `nums` of length `n` and an integer `k`. + +An element in `nums` is said to be **qualified** if there exist **at least** `k` elements in the array that are **strictly greater** than it. + +Return an integer denoting the total number of qualified elements in `nums`. + +**Example 1:** + +**Input:** nums = [3,1,2], k = 1 + +**Output:** 2 + +**Explanation:** + +The elements 1 and 2 each have at least `k = 1` element greater than themselves. + No element is greater than 3. Therefore, the answer is 2. + +**Example 2:** + +**Input:** nums = [5,5,5], k = 2 + +**Output:** 0 + +**Explanation:** + +Since all elements are equal to 5, no element is greater than the other. Therefore, the answer is 0. + +**Constraints:** + +* 1 <= n == nums.length <= 105 +* 1 <= nums[i] <= 109 +* `0 <= k < n` \ No newline at end of file diff --git a/src/test/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/SolutionTest.java b/src/test/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/SolutionTest.java new file mode 100644 index 000000000..df122f8c2 --- /dev/null +++ b/src/test/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/SolutionTest.java @@ -0,0 +1,18 @@ +package g3701_3800.s3759_count_elements_with_at_least_k_greater_values; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; + +import org.junit.jupiter.api.Test; + +class SolutionTest { + @Test + void countElements() { + assertThat(new Solution().countElements(new int[] {3, 1, 2}, 1), equalTo(2)); + } + + @Test + void countElements2() { + assertThat(new Solution().countElements(new int[] {5, 5, 5}, 2), equalTo(0)); + } +} From 2c7d65d5b96d52ffc805ed16b326f8d69f100755 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Sat, 25 Apr 2026 14:26:41 +0300 Subject: [PATCH 2/3] Fixed compile --- .../Solution.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/Solution.java b/src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/Solution.java index 8cc4d6ff8..e06331f6e 100644 --- a/src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/Solution.java +++ b/src/main/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/Solution.java @@ -3,6 +3,8 @@ // #Medium #Array #Sorting #Binary_Search #Divide_and_Conquer #Quickselect #Senior // #Weekly_Contest_478 #2026_04_25_Time_40_ms_(96.15%)_Space_134.18_MB_(73.08%) +import java.util.Arrays; + public class Solution { public int countElements(int[] nums, int k) { if (k == 0) { From 98f91c849f04f52a5423e56f2bddee83508e8507 Mon Sep 17 00:00:00 2001 From: Valentyn Kolesnikov Date: Sat, 25 Apr 2026 14:31:53 +0300 Subject: [PATCH 3/3] Added test --- .../SolutionTest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/test/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/SolutionTest.java b/src/test/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/SolutionTest.java index df122f8c2..f07f99274 100644 --- a/src/test/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/SolutionTest.java +++ b/src/test/java/g3701_3800/s3759_count_elements_with_at_least_k_greater_values/SolutionTest.java @@ -15,4 +15,9 @@ void countElements() { void countElements2() { assertThat(new Solution().countElements(new int[] {5, 5, 5}, 2), equalTo(0)); } + + @Test + void countElements3() { + assertThat(new Solution().countElements(new int[] {5, 5, 5}, 0), equalTo(3)); + } }