题解 | #和大于等于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 };