WordPress站群 管理,网站如何做tag,wordpress首页插件,网站开发怎么收费题目 
给定一个含有 n 个正整数的数组和一个正整数 target 。 
找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] #xff0c;并返回其长度。如果不存在符合条件的子数组#xff0c;返回 0 。 
示例 1#xff1a; 
输入1, ..., numsr-1, numsr] 并返回其长度。如果不存在符合条件的子数组返回 0 。 
示例 1 
输入target  7, nums  [2,3,1,2,4,3]
输出2
解释子数组 [4,3] 是该条件下的长度最小的子数组。
示例 2
输入target  4, nums  [1,4,4]
输出1
示例 3
输入target  11, nums  [1,1,1,1,1,1,1,1]
输出0 
思路 
用一个for循环来完成两个for循环的工作滑动窗口思想 
Q1一个for循环中的j应该指向滑动窗口的末端还是滑动窗口的开始位置 
如果指向开始位置那么找到那个末端就很难需要他从开端位置全部遍历寻找如果是末端的话末端先移动然后前面的指针在移动就可所以应该是后端 
Q2循环中应该是for循环还是while循环 
如果数组是1111 100target是100遍历到最后sum104然后前面指针开始缩小范围缩小一个变成103继续缩小...所以需要一直进行if只进行一次所以需要用while。 
代码 
class Solution {public int minSubArrayLen(int target, int[] nums) {int resultInteger.MAX_VALUE;//把他设置成最大值也就是integer类型的最大值int sum0;int i0;for(int j0;jnums.length;j){//这是滑动窗口的末端sumnums[j];while(sumtarget){//如果sumtarget那么就可以缩小前面的指针找到最小的子数组resultMath.min(result,j-i1);//这些子数组的集合中找到最小的sum-nums[i];i;//移动前面指针}}return resultInteger.MAX_VALUE ?0:result;}
}