题解 | #和大于等于K的最短子数组#
和大于等于K的最短子数组
https://www.nowcoder.com/practice/3e1fd3d19fb0479d94652d49c7e1ead1
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @param k int整型
* @return int整型
*/
function shortestSubarray( nums , k ) {
// write code here
let l = 0, r = 0;
let ans = Number.MAX_SAFE_INTEGER;
let sum = 0;
for(r = 0; r < nums.length; r++) {
sum += nums[r];
while(l <= r && sum >= k) {
ans = Math.min(ans, r - l + 1);
sum -= nums[l];
l++;
}
}
return ans === Number.MAX_SAFE_INTEGER ? -1 : ans;
}
module.exports = {
shortestSubarray : shortestSubarray
};