M209.长度最小的子数组
生活随笔
收集整理的這篇文章主要介紹了
M209.长度最小的子数组
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目鏈接
題目解析;
給定一個含有 n 個正整數(shù)的數(shù)組和一個正整數(shù) s ,找出該數(shù)組中滿足其和 ≥ s 的長度最小的連續(xù)子數(shù)組。如果不存在符合條件的連續(xù)子數(shù)組,返回 0。
示例:
輸入: s = 7, nums = [2,3,1,2,4,3]
輸出: 2
解釋: 子數(shù)組 [4,3] 是該條件下的長度最小的連續(xù)子數(shù)組。
tip: 滑窗法求解.
solution:
class Solution { public:int minSubArrayLen(int s, vector<int>& nums) {int n = nums.size();int left = 0,right = 0,sum = 0,res = n+1,len = 0;while(right < n){while(sum < s && right < n){len++;sum = sum + nums[right++];}while(sum>=s)//這里while不可以用if替換,差值大于第一個元素的情況,細(xì)細(xì)體會一下{res = min(res,len);sum = sum-nums[left++];len--;}}return res == n+1?0:res;} };總結(jié)
以上是生活随笔為你收集整理的M209.长度最小的子数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 酷狗的krc歌词文件的解析
- 下一篇: 在ArcEngine中的点元素如何使用其