209. 长度最小的子数组(滑动窗口法)

209. 长度最小的子数组

题目描述:给定一个含有 n 个正整数的数组和一个正整数 target 。

找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。

解答:

法一:直接使用暴力法。两重循环,对每一个元素向后进行寻找,若找到一个子数组≥target,比较其长度和result的大小,如果其长度更小则更新result,若大于则跳出,进行下一重循环。

代码实现:

class Solution {
public:
    int minSubArrayLen(int target, vector& nums) {
        int result = INT32_MAX;
        for (int i = 0; i= target){
                result = 1;
                break;
            }
            int sum = nums[i];
            for (int j = i+1; j= target){
                    if((

你可能感兴趣的:(leetcode刷题,c++,leetcode,算法)