1. 首页
  2. 软件开发
  3. day-18 长度最小的子数组

day-18 长度最小的子数组

  • 发布于 2024-09-26
  • 1 次阅读


运用队列的思维,求出每种满足题意的子数组长度,最小的即为答案,否则返回0
code

class Solution {

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

        int l=0,r=0;
        int ans=Integer.MAX_VALUE;
        int total=0;
        while(r<nums.length){

            total+=nums[r++];
            if(total>=target){

                while(total-nums[l]>=target){

                    total=total-nums[l++];
                }
                ans=Math.min(ans,r-l);
            }
        }
        if(ans==Integer.MAX_VALUE) return 0;
        return ans;
    }
}

原文链接: https://blog.csdn.net/qq_53568730/article/details/136605133