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

2021-10-07 13:45:14 字數 596 閱讀 7032

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

示例:

輸入: s =

7, nums =[2

,3,1

,2,4

,3]輸出:

2解釋: 子陣列 [4,

3] 是該條件下的長度最小的連續子陣列。

解決雙指標問題三種常用思想:

定義兩個指標 start 和end 分別表示子陣列的開始位置和結束位置,維護變數 sum 儲存子陣列中的元素和(即從 nums[start] 到nums[end] 的元素和)。

初始狀態下,start 和 end 都指向下標 00,sum 的值為 00。

每一輪迭代,將 nums[end] 加到sum,如果 sum≥s,則更新子陣列的最小長度(此時子陣列的長度是 end−start+1),然後將 nums[start] 從sum 中減去並將start 右移,直到 ssumclass

solution

}return

(ans == int_max)?0

: ans;}}

;

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

給定乙個含有 n 個正整數的陣列和乙個正整數 target 找出該陣列中滿足其和 target 的長度最小的 連續子陣列 numsl,numsl 1,numsr 1,numsr 並返回其長度。如果不存在符合條件的子陣列,返回 0 思路 採用滑動視窗的思想,起始位置視窗的大小為1,視窗的起點和終點都在...

最小子陣列

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

44 最小子陣列

給定乙個整數陣列,找到乙個具有最小和的子陣列。返回其最小和。注意事項 子陣列最少包含乙個數字 您在真實的面試中是否遇到過這個題?yes 樣例給出陣列 1,1,2,1 返回 3 思路和最大子陣列一樣,使用貪心演算法,貪心選擇是採用從頂向下 以迭代的方法做出相繼選擇,每做一次貪心選擇就將所求問題簡化為乙...