leetcode-560-和为 K 的子数组
2024-09-08 19:28:55
给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 。
示例 1:
输入:nums = [1,1,1], k = 2
输出:2
示例 2:
输入:nums = [1,2,3], k = 3
输出:2
提示: 1 <= nums.length <= 2 * 104 -1000 <= nums[i] <= 1000 -107 <= k <= 107
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/subarray-sum-equals-k
题解:
前缀和+哈希表优化
def subArraySum(nums, k):
presum = count = 0
length = len(nums)
presums = {}
presums[0] = 1
for i in range(length):
presum += nums[i]
if presum - k in presums:
count += presums[presum - k]
if presum not in presums:
presums[presum] = 1
else:
presums[presum] += 1
return count
最新文章
- 我的CPG插件 (什么是CPG,就是跟号称全球唯一C++编写的魔镜是一样的格式的)
- 用手机访问本地环境的利器ngrok
- 解决Dialog 消失,输入法不消失的问题
- W3Cschool菜鸟教程离线版下载链接
- time时间处理
- hibernate 一对一关联关系 及其懒加载,总结
- iOS 应用程序的生命周期
- php总结:1.php介绍
- Xcode6无法用xib得问题解决方法
- .Net 中的反射(查看基本类型信息)
- Java基础(3) -字符串
- 2018-2019-1 20189201 《LInux内核原理与分析》第七周作业
- js按照特定的中文字进行排序的方法
- php 限制类的对象类型
- Git(管理修改)
- IronPython初体验
- Nginx完美解决前后端分离端口号不同导致的跨域问题
- Flink - ResultPartition
- HDU-6395-矩阵快速幂
- Qt error: stray &#39;\241&#39; in program