美文网首页leetcode刷题
0209_minimum_size_sbuarray_sum

0209_minimum_size_sbuarray_sum

作者: 枫丹白露_9728 | 来源:发表于2020-06-28 09:27 被阅读0次

    题目

    参考的讨论,没有思路,使用的滑动窗口思想;基础知识需要补一补了;
    
    /**
     * @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);
    
    }());
    

    相关文章

      网友评论

        本文标题:0209_minimum_size_sbuarray_sum

        本文链接:https://www.haomeiwen.com/subject/ukrifktx.html