2022-01-04 II 008. 和大于等于 targe

2022-01-04  本文已影响0人  16孙一凡通工

刚开始看错题意了,采用了排序,结果一直不对,后来才看到必须是连续的子数组才行。
想到了滑动窗口,第一次测试时间复杂度太高,只能改成了一边右移的同时,也要左移的思路。
java版本:

class Solution {
    public int minSubArrayLen(int target, int[] nums) {

   
          int n=nums.length;
       
          int res=n+1;
            int left=0,right=0;
            int sum=0;
            while(right<n){
                sum+=nums[right];
                while(sum>=target){
                    res=Math.min(res,right-left+1);
                  sum-=nums[left];
                  left++;
                }
               right++;

            }
           
   
            return res==n+1 ? 0:res;
        }


    }
上一篇 下一篇

猜你喜欢

热点阅读