209.子数组最小的长度
#include<iostream>
#include<vector>
using namespace std;
int main() {vector<int> nums={2,3,1,2,4,3};int target=1; int left=0,right=0;int sum=0;int leftIndex=-1,rightIndex=-1;int ans=nums.size()+1;for(;right<nums.size();right++){sum+=nums[right];while(sum-nums[left]>=target){sum-=nums[left];left++;}if(sum>=target){ans=min(ans,right-left+1);leftIndex=left,rightIndex=right;}} if(ans>nums.size())printf("该数组不存在和大于等于target的子数组");else printf("该数组存在和大于等于target的子数组,满足条件的子数组的最短长度为:%d 左、右端点index分别为:%d %d",ans,leftIndex,rightIndex);return 0;
}