1.简述:
给定一个含有n个正整数的数组和一个正整数 target 。
找出这个数组中的满足感 ≥ target 最小长度 连续子数组[numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果没有合格的子数组,则返回 0 。
示例 1:
输入:target = 7, nums = [2,3,1,2,4]
输出:2
说明:子数组[4,3]是这种情况下长度最小的子数组。
示例 2:
输入:target = 4, nums = [1,4,4]
输出:1
示例 3:
输入:target = 11, nums = [1,1,1,1,1,1,1,1,1
输出:0
2.实现代码:
class Solution { public int minSubArrayLen(int s, int[] nums) { int n = nums.length; if (n == 0) { return 0; } int ans = Integer.MAX_VALUE; for (int i = 0; i < n; i++) { int sum = 0; for (int j = i; j < n; j++) { sum += nums[j]; if (sum >= s) { ans = Math.min(ans, j - i + 1); break; } } } return ans == Integer.MAX_VALUE ? 0 : ans; }}