力扣题目:560. 和为 K 的子数组 - 力扣(LeetCode)
题目描述:
给你一个整数数组 nums
和一个整数 k
,请你统计并返回 该数组中和为 k
的子数组的个数 。
子数组是数组中元素的连续非空序列。
示例 1:
输入:nums = [1,1,1], k = 2 输出:2
示例 2:
输入:nums = [1,2,3], k = 3 输出:2
提示:
1 <= nums.length <= 2 * 10^4
-1000 <= nums[i] <= 1000
-107 <= k <= 10^7
枚举算法如下:
//求子数组,枚举法符合条件的起始下标在【0,i】
//子串是连续的,计算过的不用计算,往后滑动
class Solution {
public int subarraySum(int[] nums, int k) {
//长度
int L=nums.length;
//总数
int count =0;
//从起始开始计算
for(int i=0;i<L;i++)
{
int sum=0;
for(int start=i;start<L;start++)
{
sum=sum+nums[start];
if(sum==k)
{
count++;
}
}
}
return count;
}
}