日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode209. 长度最小的子数组(暴力+滑动窗口)

發布時間:2023/12/4 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode209. 长度最小的子数组(暴力+滑动窗口) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:題目

二:暴力+滑動窗口

1:暴力解法

class Solution { public:int min (int a ,int b){return a < b ? a : b;}int minSubArrayLen(int target, vector<int>& nums) {int minx = 100001;for(int i = 0; i < nums.size(); i++){vector<int> v;int sum = nums[i];v.push_back(nums[i]);for(int j = i + 1; j < nums.size(); j++){if(sum < target){sum += nums[j];v.push_back(nums[j]);}else{break;//當已經找到超過target的序列的時候 就可以跳出循環}}if(sum >= target)minx = min(minx,v.size());}if(minx == 100001)return 0;else return minx;} };

2:滑動窗口

(1):思路

思路:
1.滑動窗口方法,類似與雙指針
2.先介紹滑動窗口的三要素
滑動窗口的起始位置,
窗口的范圍大小
窗口的結束位置
3.在本題中,我們的起始位置是數組的開頭,窗口的范圍大小是我們累加的和,結束位置是我們的累加和大于target 的元素位置.
4.那么滑動窗口的精髓之處在于移動起始位置的指針,當我們統計到一個滿足target的時候,我們將sum 剪去 nums[i++] (i是起始位置) ,那么就相當于我們向后移動一個元素

(2):上碼

class Solution { public:int min (int a ,int b){return a < b ? a : b;}int minSubArrayLen(int target, vector<int>& nums) {/**思路:1.滑動窗口方法,類似與雙指針2.先介紹滑動窗口的三要素滑動窗口的起始位置,窗口的范圍大小窗口的結束位置3.在本題中,我們的起始位置是數組的開頭,窗口的范圍大小是我們累加的和,結束位置是我們的累加和大于target 的元素位置.4.那么滑動窗口的精髓之處在于移動起始位置的指針,當我們統計到一個滿足target的時候,我們將sum 剪去 nums[i++] (i是起始位置) ,那么就相當于我們向后移動一個元素**/int minx = 100001;int arraylength = 0;//滑動窗口的長度int sum = 0;//窗口的大小int j = 0;//滑動窗口的起始 位置for(int i = 0; i < nums.size(); i++) {sum += nums[i];while(sum >= target){arraylength = i - j + 1;//這個可以拿例子理解minx = min(minx,arraylength);sum -= nums[j++];//這里體現滑動窗口的精髓之處 我們可以獲知這里是移動出窗口的起始位置}}return minx == 100001 ? 0 : minx;} };

不用猜 暴力解法 一定是菜雞杰的解法 哈哈哈 菜雞杰也只會暴力解決一切 但該學習學習還是得學 一看評論區 臥槽 還能這么做 我真菜 菜雞杰果然是菜雞 哈哈哈 加油 各位 !!

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的leetcode209. 长度最小的子数组(暴力+滑动窗口)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。