【解释】
给定一个数组,要求求出这个数组的一个子数组大于等于给定s的最小长度,子数组要求连续。
【思路】
思路一、
由于要求连续,我们可以使用两个指针,left和right。...若当前的sum小于s,说明目前的数字太少了,我们让right指针向右移以期让子数组有更多的数字使其和大于或等于s。
2. left右移。...若找到了这样的子数组,接下来,我们逐渐缩小子数组的范围,即使得left右移,以期能够找到最小长度的子数组使得其和大于等于s,知道其和小于s则可停止移动left。...数组为[2,3,1,2,2,4,3], s=7
首先开辟一个比原数组多1的数组sums,保留[0,i-1]下标的和。这个例子中sums数组为:[0,2,5,6,8,12,15]。...如i==0的时候,最小的大于等于s的是8,index为4,这说明长度为4的子数组>=s,按照同样的思想找到最短的那一个长度就行了。