class Solution { public: int subarraySum(vectorint nums, int k) { int sum0; for(int inums.size()-1;i0;i--) { int ji-1; int tmpnums[i]; if(tmpk) sum; while(j0) { tmp nums[j]; if(tmpk) sum; j--; } } return sum; } };使用前缀和class Solution { public: int subarraySum(vectorint nums, int k) { unordered_mapint,int mp; int pre0,cnt0; mp[0]1; for(auto x:nums) { prex; if(mp.find(pre-k)!mp.end()) { cntmp[pre-k]; } mp[pre]; } return cnt; } };
LeetCode hot100-560 和为 K 的子数组
class Solution { public: int subarraySum(vectorint nums, int k) { int sum0; for(int inums.size()-1;i0;i--) { int ji-1; int tmpnums[i]; if(tmpk) sum; while(j0) { tmp nums[j]; if(tmpk) sum; j--; } } return sum; } };使用前缀和class Solution { public: int subarraySum(vectorint nums, int k) { unordered_mapint,int mp; int pre0,cnt0; mp[0]1; for(auto x:nums) { prex; if(mp.find(pre-k)!mp.end()) { cntmp[pre-k]; } mp[pre]; } return cnt; } };