标签:一个 hose 利用 problem tps 返回 NPU tin class
Given an array of integers and an integer k, you need to find the total number of continuous subarrays whose sum equals to k.
Example 1:
Input:nums = [1,1,1], k = 2 Output: 2
Note:
这个题目思路是利用cumulative sum, 前面数字之和去计算. 参考Leetcode 原题Solution.
建一个diction, 记录 sum 出现过的次数, 然后每次用sum - target, 如果存在在dction里面, count += d[sum-target], 最后返回count. 如果直到这个思路之后其实不难, 否则还蛮难想的.
class Solution: def subarraySum(self, nums, k): """ :type nums: List[int] :type k: int :rtype: int """ d, count,s = {0:1}, 0,0 # 最开始有0:1 是因为"" 的sum是0, 所以初始为1 for num in nums: s += num if s - k in d: count += d[s-k] if s not in d: d[s] = 1 else: d[s] += 1 return count
[LeetCode] 560. Subarray Sum Equals K_Medium
标签:一个 hose 利用 problem tps 返回 NPU tin class
原文地址:https://www.cnblogs.com/Johnsonxiong/p/9206892.html