leetcode-209

46 阅读1分钟

双指针法;滑动窗口法 class Solution { public: int minSubArrayLen(int target, vector& nums) { //result需要初始化为最大值, int length = INT32_MAX; int fastIndex = 0; int slowIndex = 0; int subLength = 0; int sum = 0; for(;fastIndex < nums.size();fastIndex++){ sum+=nums[fastIndex]; while(sum>=target){ //拿到总体最下的长度 subLength = fastIndex - slowIndex + 1; length = length<subLength?length:subLength; sum -=nums[slowIndex]; slowIndex++; } } return length == INT32_MAX?0:length; } };