亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Leetcode 209. Minimum Size Subarray Sum

2019-11-10 17:30:16
字體:
來源:轉載
供稿:網友

Given an array of n positive integers and a positive integer s, find the minimal length of a contiguous subarray of which the sum ≥ s. If there isn’t one, return 0 instead.

For example, given the array [2,3,1,2,4,3] and s = 7, the subarray [4,3] has the minimal length under the PRoblem constraint.

click to show more practice.

More practice: If you have figured out the O(n) solution, try coding another solution of which the time complexity is O(n log n).

s思路: 1. two pointer。為什么?因為要找連續的subarray,用雙指針正好來表示這個連續的subarray的左右邊界。 2. 左右指針都初始化為l=0,r=0;然后右指針r右移知道[l,r]的和大于給定的和,條件先滿足,然后再找最小值,此時就可以移動左指針l來壓縮長度,如果移動左指針發現和仍然大于給定的和,則繼續移動左指針;如果移動左指針發現此時的和小于給定的和,說明不能在壓縮了,此時要移動右指針來重新讓條件滿足。整個過程就是:右指針移動為了滿足和大于給定的和,因此區間是expanded;左指針移動則是為了壓縮這個subarray的size,讓得到最小值,因此區間是compressed. 3. 在debug過程中,發現自己仍然會漏掉一些邊界情況。第一,當給的array是空的話,代碼需要加保護嗎?這一點還是給忽略了;第二,當給的array的數都加起來還小于給定的和,結果正確嗎? 4. 提示說還可以用o(nlgn)的方法,那就是divide and conquer,分成兩半,分別左右求最小size,然后中間往兩邊擴展也得到一個最小size,三個最小size取小者返回! 5. 另外還有一個新的思路可以實現o(nlgn).先從左往右累加數據,因此:

[2,3,1,2,4,3] 就變化成:[0,2,5,6,8,12,15]

由于所有元素都是正數,所有[0,i]subarray都是也是正數,而且這樣得到的vector就從無序的矩陣變成了遞增序列?,F在就好辦了:對新得到的vector,從后往前遍歷,例如:遇到15時,就用binary search查找15-7=8的位置,因此找upper_bound(8),然后計算此時的長度;當遇到12是,找upper_bound(12-7)…以此類推,最后的復雜度就是o(nlgn). 6. 想說一下這個題的思路,由于是正數,而且是求和,那么就通過子序列求和把無序的正數序列轉成有序的序列。就可以用二分搜索了。這個思路是值得學習的,除了技巧性,尤其是可以打破思維里的看什么是什么的認知,上午討論了,看到復雜的情況,就要想到背后有可能潛藏這簡單的情況。比如這里,看到不規則的序列,但是有正數序列的限制,那么這個序列就可以轉換成遞增序列,或者說,這個無序的序列下潛藏或包裹這一個有序序列,就看自己能不能站在合適的角度去看了。所以,看問題不能只看到這個問題表面展現出來的樣子,通常這個樣子具有迷惑性、有時候很丑陋、很繁瑣、很多corner case、很多if-else,這些并不是這個問題的樣子。或者說,我們站的角度看到的這個問題不是問題的全貌,還一個角度則可能看到不一樣的問題,所以,就要習慣站在不同角度看問題。上午談的是,最容易的是站在相反的角度看問題,比如從左往右遍歷如果很繁復,那么就從右往左看試一下。這都是最簡單的這個思路的應用:站在不同位置看同一個問題!

//方法1:two pointerclass Solution {public: int minSubArrayLen(int s, vector<int>& nums) { // int l=0,r=-1,cur=0,n=nums.size(); if(n==0) return 0; int len=INT_MAX; while(r<n){ if(cur<s){ cur+=nums[++r]; }else{ len=min(r-l+1,len); cur-=nums[l++]; } } return len==INT_MAX?0:len;//bug:直接返回len不正確! //如果整個過程遍歷都沒有大于給定的和,那么長度就該是0; //所以把len初始化INT_MAX,最后判斷len是否還等于INT_MAX,如果等于,說明沒有更新長度值,因此長度就是0。 }};//方法2:binary search:站在不同角度看問題,妙!class Solution {public: int minSubArrayLen(int s, vector<int>& nums) { // int n=nums.size(); vector<int> sums(n+1,0); //step 1:求所有子序列之和,其意義在于:站在不同角度看到序列的規則性! for(int i=1;i<=n;i++){ sums[i]=sums[i-1]+nums[i]; } int len=INT_MAX; for(int i=n;i>0&&sums[i]>s;i--){ int j=lower_bound(sums.begin(),sums.end()+i,sums[i]-s)-sums.begin(); len=min(len,i-j); } return len==INT_MAX?0:len; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一区二区三欧美| 国产精品嫩草视频| 国产精品久久97| 国产精品吹潮在线观看| 91精品在线看| 综合网日日天干夜夜久久| 国产精品视频一区二区高潮| 欧美性生交xxxxxdddd| 国产盗摄xxxx视频xxx69| 亚洲美女在线观看| 91久久精品一区| 国产精品久久久久久久久借妻| 欧美国产日韩一区二区| 国产成人在线一区| 日本高清不卡在线| 亚洲国产精品专区久久| 国产精品日日摸夜夜添夜夜av| 在线成人一区二区| 亚洲free嫩bbb| 日韩免费在线观看视频| 日韩精品中文在线观看| 欧美在线视频一二三| 欧美另类极品videosbestfree| 久久久久久中文字幕| 91中文字幕在线| 欧美精品手机在线| 97视频免费在线观看| 亚洲综合视频1区| 亚洲欧美一区二区三区四区| 日韩精品视频在线免费观看| 黑人狂躁日本妞一区二区三区| 久久久爽爽爽美女图片| 91精品久久久久久久久不口人| 亚洲视频一区二区三区| 欧美中文字幕视频| 日日噜噜噜夜夜爽亚洲精品| 中文一区二区视频| 亚洲精品日韩在线| 成人深夜直播免费观看| 伊人久久久久久久久久久| 成人黄色免费看| 亚洲成人免费在线视频| 欧美午夜激情小视频| 日韩免费在线播放| 日本中文字幕久久看| 欧美激情一区二区三区在线视频观看| 国产成人avxxxxx在线看| 精品久久久久久久久久久久久久| 日韩免费看的电影电视剧大全| 久久免费高清视频| 久久久久国产一区二区三区| 亚洲精品国产精品自产a区红杏吧| 欧美日韩一二三四五区| 国产精品黄页免费高清在线观看| 成人黄色av免费在线观看| 中日韩美女免费视频网站在线观看| 国产狼人综合免费视频| 国产精品aaa| 精品视频久久久久久久| 国产欧美一区二区三区久久| 热久久美女精品天天吊色| 成人字幕网zmw| 国产一区视频在线| 57pao国产精品一区| 萌白酱国产一区二区| 久久久999精品| 日韩精品999| 91高清视频免费观看| 欧美高清videos高潮hd| 亚洲石原莉奈一区二区在线观看| 欧美精品国产精品日韩精品| 久久免费观看视频| 成人精品一区二区三区| 欧美精品videosex牲欧美| 一区二区福利视频| 国产精品久久久久久久7电影| 国产精品户外野外| 国内精品中文字幕| 欧美激情第1页| 黄色精品一区二区| 亚洲精品视频久久| 亚洲欧美综合v| 成人国产在线激情| 国产日韩av在线播放| 一区二区三区四区在线观看视频| 国产裸体写真av一区二区| 国产精品91在线观看| 久久久国产在线视频| 国产精品99久久久久久久久久久久| 国产一区二区三区视频在线观看| 2019中文字幕免费视频| 欧美天堂在线观看| 国产精品久久久久久久久久小说| 一区二区在线视频| 欧美日韩国产成人在线观看| 国产精品成人av在线| 欧美色欧美亚洲高清在线视频| 国产精品丝袜白浆摸在线| 精品久久中文字幕久久av| 青青久久av北条麻妃黑人| 欧美高跟鞋交xxxxxhd| 亚州欧美日韩中文视频| 久久精品国产69国产精品亚洲| 国产成人福利网站| 国产精品h片在线播放| 日韩成人av一区| 久久精品视频va| 亚洲精品电影在线| 国产成人亚洲综合青青| 欧美另类69精品久久久久9999| 日韩视频免费观看| 国产va免费精品高清在线观看| 一区国产精品视频| 国产999精品| 国产日产欧美精品| 一本色道久久综合亚洲精品小说| 欧美成人黄色小视频| 91国自产精品中文字幕亚洲| 久久精品最新地址| 国产精品网红直播| 亚洲国产婷婷香蕉久久久久久| 久久久久999| 日韩欧美aⅴ综合网站发布| 久久影院免费观看| 亚洲白拍色综合图区| 成人免费淫片视频软件| 亚洲新中文字幕| 国产一区二区三区直播精品电影| 亚洲一级一级97网| 国产精品视频中文字幕91| 久久天堂av综合合色| 国产精品久久久久久久久久久不卡| 久久九九精品99国产精品| 亚洲精品国产精品国自产在线| 久久久久99精品久久久久| 国产精品久久久久久久av电影| 亚洲片国产一区一级在线观看| 一区二区欧美日韩视频| 日产精品久久久一区二区福利| 国产精品久久电影观看| 91人成网站www| 欧美激情一区二区三区久久久| 色偷偷偷亚洲综合网另类| 国产成人一区二区在线| 亚洲一区二区三区777| 欧美日本在线视频中文字字幕| 日韩av三级在线观看| 九九视频这里只有精品| 视频直播国产精品| 欧美一乱一性一交一视频| 亚洲肉体裸体xxxx137| 在线观看视频亚洲| 国产aⅴ夜夜欢一区二区三区| 欧美高清在线观看| 国产精品久久久久久av| 日韩电影免费观看在线观看| 日韩在线激情视频| 97人洗澡人人免费公开视频碰碰碰| 欧美老女人xx| 日韩**中文字幕毛片| 亚洲精品动漫100p| 97国产在线观看| 欧美极品美女视频网站在线观看免费| 欧美性猛交丰臀xxxxx网站|