Subarray Sum Equals K
给一个数组, 问里面有几个subarray, 的和是k.
这个题是问有几个subarray, 我原来觉得[1]也是, 但是好像两个以上才算. 先算pre sum, 然后就知道区间的sum, 查看是不是等于k即可.
class Solution {
public int subarraySum(int[] nums, int k) {
int[] pre = new int[nums.length + 1];
int res = 0;
for(int i = 1; i < nums.length + 1; i++) {
pre[i] = pre[i-1] + nums[i - 1];
}
for(int i = 0; i < nums.length; i++) {
for(int j = i + 1; j < nums.length + 1; j++) {
if(pre[j] - pre[i] == k) {
res++;
}
}
}
return res;
}
}