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; } };