美文网首页算法代码
和为K的连续子数组

和为K的连续子数组

作者: windUtterance | 来源:发表于2021-01-20 15:32 被阅读0次

题目描述
给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。

示例
输入:nums = [1,1,1], k = 2
输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。

作者:labuladong
链接:https://leetcode-cn.com/problems/subarray-sum-equals-k/solution/qian-zhui-he-ji-qiao-xiang-jie-by-labuladong/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Java代码

class Solution {
    public int subarraySum(int[] nums, int k) {
        int n = nums.length;
        Map<Integer, Integer> preSum = new HashMap<>();
        preSum.put(0, 1);
        int ans = 0, sum0_i = 0;
        for(int i = 0;i < n;i++) {
            sum0_i += nums[i];
            int sum0_j = sum0_i - k;
            if(preSum.containsKey(sum0_j))
                ans += preSum.get(sum0_j);
            preSum.put(sum0_i, preSum.getOrDefault(sum0_i, 0) + 1);
        }
        return ans;
    }
}

相关文章

  • leetcode 560. 和为K的子数组

    560. 和为K的子数组 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 ...

  • LeetCode 862. 和至少为 K 的最短子数组

    返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 。如果没有和至少为 K 的非空子数组,返回 -1。...

  • 560.和为K的子数组

    和为K的子数组 题目 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1...

  • 和为K的连续子数组

    题目描述:给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例:输入:nums...

  • PAT 7-1 最大子列和问题 (C语言实现)

    题目描述 给定K个整数组成的序列,“连续子列”被定义为,其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列...

  • 560. 和为K的子数组

    【Description】给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例...

  • leetcode 560. 和为K的子数组(python+go)

    给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1 : 输入:nums ...

  • leetcode--560--和为K的子数组

    题目:给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1 : 说明 : ...

  • 560. 和为K的子数组

    给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1 : 输入:nums ...

  • LeetCode 560. 和为 K 的子数组

    题目 给你一个整数数组 nums 和一个整数 k ,请你统计并返回该数组中和为 k 的连续子数组的个数。 例:输入...

网友评论

    本文标题:和为K的连续子数组

    本文链接:https://www.haomeiwen.com/subject/uvcwektx.html