一、题目
二、代码
class Solution
{
public int subarraySum(int[] nums, int k)
{
//一直加 看map中是否包含sum-k
// 前缀和 区间相减
Map<Integer,Integer> map = new HashMap<>();
int i;
int length = 0;
int sum = 0;
int result = 0;
length = nums.length;
map.put(0,1);
// k = sum - have
// k = sum + have
for(i=0;i<length;i++)
{
sum = sum + nums[i];
if(map.containsKey(sum-k))
{
result = result + map.get(sum-k);
}
else
{
}
map.put(sum,map.getOrDefault(sum,0)+1);
}
return result;
}
}