Skip to content

Commit 7f7abea

Browse files
authored
Create 1918-kth-smallest-subarray-sum.js
1 parent a25d1a8 commit 7f7abea

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

1918-kth-smallest-subarray-sum.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} k
4+
* @return {number}
5+
*/
6+
const kthSmallestSubarraySum = function(nums, k) {
7+
const sum = nums.reduce((ac, e) => ac + e, 0), n = nums.length
8+
let l = 0, r = sum
9+
while(l < r) {
10+
const mid = l + ((r - l) >> 1)
11+
let cnt = 0
12+
for(let i = 0, j = 0, tmp = 0; i < n; i++) {
13+
tmp += nums[i]
14+
while(tmp > mid) tmp -= nums[j++]
15+
cnt += i - (j - 1)
16+
}
17+
if (cnt < k) l = mid + 1
18+
else r = mid
19+
}
20+
return l
21+
};

0 commit comments

Comments
 (0)