给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。

子数组是数组中元素的连续非空序列。

示例 1:

输入:nums = [1,1,1], k = 2
输出:2
示例 2:

输入:nums = [1,2,3], k = 3
输出:2

class Solution {
    public int subarraySum(int[] nums, int k) {
        // 从当前位置,往前找数字
        int result = 0;
        for (int end = 0; end < nums.length; end ++) {
            int sum = 0;
            for (int start = end; start >= 0; start--) {
                sum += nums[start];
                if (sum == k) {
                    result++;
                }
            }
        }
        return result;
    }
}
posted on 2025-07-09 17:15  caoshikui  阅读(13)  评论(0)    收藏  举报