class Solution(object):
def subarraySum(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: int
"""
# nums.sort()
presum={0:1}
m=len(nums)
tmp=0
rt_num=0
for i in range(0,m):
tmp+=nums[i]
rt_num+=presum.get(tmp-k,0)
presum[tmp] = presum.get(tmp,0)+1
return rt_num
子数组其实就是现在的前缀和,前去前面的前缀和,通过hashmap把查找前面的所有前缀和的时间复杂度降低为1
8万+

被折叠的 条评论
为什么被折叠?



