码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode 560. Subarray Sum Equals K

时间:2019-03-17 01:09:53      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:div   etc   +=   class   Fix   port   def   solution   imp   

前缀和(prefix sum/cumulative sum)

import collections


class Solution(object):
    def subarraySum(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: int
        """
        if not nums:
            return 0

        preSum, ret, size = [0], 0, len(nums)
        count = collections.Counter(preSum)
        if size == 1:
            return 1 if nums[0] == k else 0
        for val in nums:
            s = preSum[-1] + val
            preSum.append(s)
            ret += count.get(s - k, 0)
            count[s] = count.get(s, 0) + 1

        return ret

 

Leetcode 560. Subarray Sum Equals K

标签:div   etc   +=   class   Fix   port   def   solution   imp   

原文地址:https://www.cnblogs.com/zywscq/p/10545115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!