leetcode 209. 长度最小的子数组
Posted simpleknight
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 209. 长度最小的子数组相关的知识,希望对你有一定的参考价值。
题目
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。
示例:
输入:s = 7, nums = [2,3,1,2,4,3]
输出:2
解释:子数组 [4,3] 是该条件下的长度最小的连续子数组。
思路
滑动窗口模板题,不想解释
代码
class Solution { public: int minSubArrayLen(int s, vector<int>& nums) { int sum = 0; int ans = 0x3f3f3f; int l=0; for(int r=0;r<nums.size();r++) { sum += nums[r]; while(sum>=s) { ans = min(ans,r-l+1); sum -= nums[l]; l++; } } if(ans==0x3f3f3f) return 0; else return ans; } };
以上是关于leetcode 209. 长度最小的子数组的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 209. 长度最小的子数组 | Python