和大于S的最短子序列
给定长度为n的整数数列:a0,a1,..,an-1,以及整数S。这个数列会有连续的子序列的整数总和大于S的,求这些数列中,最小的长度。
int findShortest3(vector<int>& num,int s)
{
int sum=0;
int start=0,end=0;
int ans=num.size()+1;
while(end<num.size())
{
if(sum<s)
sum+=num[end];
while(sum>=s)
{
ans=min(ans,end-start+1);
sum-=num[start++];
}
end++;
}
return ans;
}