diff --git a/src/main/java/com/cool/ling_cha_mount/binary_search/Num2389.java b/src/main/java/com/cool/ling_cha_mount/binary_search/Num2389.java new file mode 100644 index 0000000..33b224c --- /dev/null +++ b/src/main/java/com/cool/ling_cha_mount/binary_search/Num2389.java @@ -0,0 +1,31 @@ +package com.cool.ling_cha_mount.binary_search; + +import java.util.Arrays; + +public class Num2389 { + public int[] answerQueries(int[] nums, int[] queries) { + Arrays.sort(nums); + int[] res = new int[queries.length]; + for (int i = 1; i < nums.length; i++) { + nums[i] += nums[i - 1]; + } + for (int i = 0; i < queries.length; i++) { + res[i] = binarySearch(nums, queries[i] + 1); + } + return res; + } + + private int binarySearch(int[] nums, int target) { + int left = 0; + int right = nums.length - 1; + while (left <= right) { + int mid = (right - left) / 2 + left; + if (target <= nums[mid]) { + right = mid - 1; + } else { + left = mid + 1; + } + } + return left; + } +}