0209_minimum_size_sbuarray_sum

题目

参考的讨论,没有思路,使用的滑动窗口思想;基础知识需要补一补了;
/**
 * @param {number} s
 * @param {number[]} nums
 * @return {number}
 */

var minSubArrayLen = function(s, nums) {
  if (nums.length === 0) return 0;
  const slideWindow = [];
  let acc = 0;
  let min = null;

  for (let i = 0; i < nums.length + 1; i++) {
    const num = nums[i];

    while (acc >= s) {
      if (min === null || slideWindow.length < min) {
        min = slideWindow.length;
      }
      acc = acc - slideWindow.shift();
    }

    slideWindow.push(num);

    acc = slideWindow.reduce((a, b) => a + b, 0);
  }

  return min || 0;
};



function print(str){
    console.log(str);
}

// 解体思路,滑动窗口思想;


(function (){
    var input = {
        s:7,
        nums:[2, 3, 1, 2, 4, 3]
    }
    var output = minSubArrayLen(input.s,input.nums);
    print("input:");
    print(input);
    print("output:");
    print(output);

}());
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。