C/C++教程

LeetCode560 和为 K 的子数组

本文主要是介绍LeetCode560 和为 K 的子数组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

LeetCode560 和为 K 的子数组

前缀和 + 哈希

class Solution:
    def subarraySum(self, nums: List[int], k: int) -> int:

        pre_count, pre, ans = {}, 0, 0
        pre_count[0] = 1

        for c in nums:
            pre += c
            if (pre - k) in pre_count: ans += pre_count[pre - k]
            if pre in pre_count: pre_count[pre] += 1
            else: pre_count[pre] = 1

        return ans
这篇关于LeetCode560 和为 K 的子数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!