class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums) {
int n = nums.size();
int res = 1e9, sum = 0;
for (int i = 0, j = 0; i < n; i ++ ) {
sum += nums[i];
while (sum - nums[j] >= target) {
sum -= nums[j];
j ++ ;
}
if (sum >= target) res = min(res, i - j + 1);
}
if (res == 1e9) res = 0;
return res;
}
};