滑動視窗求解長度最小子陣列

2021-10-20 06:42:35 字數 537 閱讀 3798

給定乙個含有 n 個正整數的陣列和乙個正整數 target 。找出該陣列中滿足其和 ≥ target 的長度最小的 連續子陣列 [numsl, numsl+1, …, numsr-1, numsr] ,並返回其長度。如果不存在符合條件的子陣列,返回 0

思路:採用滑動視窗的思想,起始位置視窗的大小為1,視窗的起點和終點都在nums的首位址,保持視窗的起點不動,終點不斷向右滑動,直到視窗內的資料和sum>=target,然後保持視窗的終點不動,視窗的起點不斷向右滑動,直到sum=target視窗的最小值,重複以上過程直到視窗的終點到nums的終點,此時如果有符合sum>=targe的視窗則輸出其最大值,否則輸出0;

int

minsubarraylen

(int target,vector<

int>

& nums)

++right;}if

(minlength == numssize+1)

return0;

return minlength;

}

滑動視窗 長度最小的子陣列

滑動視窗 長度最小的子陣列 暴力法 區間由left,和right確定,因此需要兩層for迴圈遍歷left和right,o n 2 滑動視窗法 滑動視窗也是使用雙指標確定視窗的left和right,left和right如何移動?right要從0 到length 1移動,步長1,也就是用for迴圈,le...

2020 6 28 長度最小子陣列 雙指標

給定乙個含有 n 個正整數的陣列和乙個正整數 s 找出該陣列中滿足其和 s 的長度最小的連續子陣列,並返回其長度。如果不存在符合條件的連續子陣列,返回 0。示例 輸入 s 7,nums 2 3,1 2,4 3 輸出 2解釋 子陣列 4,3 是該條件下的長度最小的連續子陣列。解決雙指標問題三種常用思想...

最小子陣列

給定乙個整數陣列,找到乙個具有最小和的子陣列。返回其最小和。注意事項 子陣列最少包含乙個數字 您在真實的面試中是否遇到過這個題?yes 哪家公司問你的這個題?airbnb linkedin amazon cryptic studios dropbox epic systems tinyco hedv...