lettcode 和為K的子陣列

2021-10-06 04:12:26 字數 452 閱讀 9424

給定乙個整數陣列和乙個整數 k,你需要找到該陣列中和為 k 的連續的子陣列的個數。

輸入:nums = [1,1,1], k = 2

輸出: 2 , [1,1] 與 [1,1] 為兩種不同的情況。

剛開始的思路是視窗,具體就是設定乙個視窗,然後如果這個視窗內的資料大於k,那麼就讓視窗前面拋棄乙個值,否則視窗擴充,但是後來當k=0的時候死活過不去,所以放棄!

官方的解答和微妙,就是正常人的思路,如果我想知道當前值之前有沒有存在和為k的子陣列,那麼就用當前值減去k得到的pre,看pre這個值是是之前的字首和

那麼現在問題就是構建字首和了,所以就採用乙個map雜湊作為記錄

更多可以看官方解答:官方解答

class

solution

return result;}}

;

和為k的子陣列

給定乙個整數陣列和乙個整數 k,你需要找到該陣列中和為 k 的連續的子陣列的個數。示例 1 輸入 nums 1,1,1 k 2 輸出 2 1,1 與 1,1 為兩種不同的情況。說明 陣列的長度為 1,20,000 陣列中元素的範圍是 1000,1000 且整數 k 的範圍是 1e7,1e7 o n ...

和為k的子陣列

給你乙個整數陣列nums和乙個整數k,請你統計並返回該陣列中和為k的連續子陣列的個數 示例 1 輸入 nums 1,1,1 k 2 輸出 2示例 2 輸入 nums 1,2,3 k 3 輸出 2 一般看到陣列中的連續子陣列求和,我們會想到使用字首和 解法 字首和 public static int ...

560 和為K的子陣列

題解 1.維護乙個unordered map 字首陣列和,count 2.遍歷陣列的累加和,如果存在sum k,在 unordered map裡面,則有count種情況 複雜度分析 解題思路 一 建立map表用於儲存每個連續子陣列sum求和出現的次數,初始化為 0,1 表示和為0的連續子陣列出現1次...