LeetCode 和為K的子陣列(hash表)

2021-09-18 01:51:58 字數 709 閱讀 8350

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

示例 1 :

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

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

說明 :

陣列的長度為 [1, 20,000]。

陣列中元素的範圍是 [-1000, 1000] ,且整數 k 的範圍是 [-1e7, 1e7]。

思路分析:請先翻閱 leetcode 區域和檢索

這道題與上一題非常相似,我們可以窮舉每乙個區間段的和,如果等於k,則計數器自增。

時間複雜度o(n2),額外空間複雜度o(n)

方法二:hash表法。

時間複雜度o(n),額外空間複雜度o(n)

leetcode 和為k的子陣列

class solution public int subarraysum vector nums,int k if nums.size 0 return 0 int res 0 unordered mapmap map 0 1 int sum 0 for int i 0 i從j到i求和等於k,不斷...

leetcode 560 和為k的子陣列

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

LeetCode 560 和為K的子陣列

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