class Solution {
public:
//使用前缀法,处理数组,保存前面数包括自己的和
int minSubarray(vector<int>& nums, int target) {
for(int i=1; i<nums.size(); ++i){
nums[i] = nums[i-1] + nums[i];
}
nums.insert(nums.begin(), 0); //在前面添加0,方便处理
int len = 1; //从长度为1开始检测;
while( len <= nums.size() ){
for(int i=0; i+len < nums.size(); ++i ){
if( nums[i+len] - nums[i] >= target ){
return len;
}
}
++len;
}
return 0;
}
};

京公网安备 11010502036488号