题目
给你一个整数数组 nums
和一个整数 k
,请你统计并返回 该数组中和为 k
的连续子数组的个数 。
示例 1:
输入:nums = [1,1,1], k = 2 输出:2示例 2:
输入:nums = [1,2,3], k = 3 输出:2
题解
这个方法非常巧妙,先确定子数组的结尾,然后往前遍历求和
var subarraySum = function(nums, k) {
let count = 0;
for (let start = 0; start < nums.length; ++start) {
let sum = 0;
for (let end = start; end >= 0; --end) {
sum += nums[end];
if (sum == k) {
count++;
}
}
}
return count;
};