企业网站怎么做跟淘宝链接,在线编辑网页,深圳十大室内设计工作室,百度精准引流推广209. 长度最小的子数组
滑动窗口型双指针
给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] #xff0c;并返回其长度。如果不存在符合条件的子数组#xff0c;…209. 长度最小的子数组
滑动窗口型双指针
给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] 并返回其长度。如果不存在符合条件的子数组返回 0 。
示例 1
输入target 7, nums [2,3,1,2,4,3] 输出2 解释子数组 [4,3] 是该条件下的长度最小的子数组。 示例 2
输入target 4, nums [1,4,4] 输出1 示例 3
输入target 11, nums [1,1,1,1,1,1,1,1] 输出0
提示
1 target 109 1 nums.length 105 1 nums[i] 105
进阶
如果你已经实现 O(n) 时间复杂度的解法, 请尝试设计一个 O(n log(n)) 时间复杂度的解法。
CODE
class Solution {
public:int minSubArrayLen(int target, vectorint nums) {int ansnums.size()1,sum0,i0;for(int j0;jnums.size();j){sumnums[j];while(sumtarget){int windowssizej-i1;ansmin(windowssize,ans);sum-nums[i];}}if(!i)return 0;return ans;}
};