leetcode 和為k的子陣列

2021-10-09 09:44:09 字數 373 閱讀 1072

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,不斷累積從0開始到i的和,當前pre-i減去pre-j-1等於k,找到所有這樣的可能,也就是pre-j-1 等於sum-k,使用乙個map對sum進行計數,然後遍歷到i的時候,sum-k,是不是某個0-j-1的字首和呢?如果是,把計數取出來,就是個數了,同時不要忘記給當前sum計數加一。

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 解題思路 從前向後...

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

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