Skip to content

Commit 358efc4

Browse files
authored
Create 3364-minimum-positive-sum-subarray.js
1 parent c6ae1f1 commit 358efc4

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

3364-minimum-positive-sum-subarray.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} l
4+
* @param {number} r
5+
* @return {number}
6+
*/
7+
var minimumSumSubarray = function (nums, l, r) {
8+
let sum = Infinity
9+
for (let i = l; i <= r; i++) {
10+
sum = Math.min(minPos(nums, i), sum)
11+
}
12+
return sum === Infinity ? -1 : sum
13+
}
14+
15+
function minPos(num, k) {
16+
let s = 0
17+
let min = Infinity
18+
for (let i = 0; i < k; i++) {
19+
s += num[i]
20+
}
21+
if (s > 0) min = s
22+
for (let i = k; i < num.length; i++) {
23+
s += num[i] - num[i - k]
24+
if (s > 0) min = Math.min(min, s)
25+
}
26+
return min
27+
}

0 commit comments

Comments
 (0)