和为k的连续子数组
数组 连续
2023-09-11 14:17:11 时间
方法一、暴力法
方法二、前缀和 + HashMap
求解和的方式往往能够分解成sum-k方式,查找此key是否在该dict中,count累加计数
# prefix sum nums = [1,1,1,1] k, count = 2, 0 dic = {0:1} # 和为key的前缀和有value个 prefix_sum = 0 for i in range(len(nums)): prefix_sum += nums[i] if prefix_sum - k in dic: count += dic[prefix_sum-k] if prefix_sum in dic: dic[prefix_sum] += 1 else: dic[prefix_sum] = 1 count
相关文章
- JSON转换为数组 但读取JSON的顺序目前没法保证
- Laravel 条件数组 in 的用法
- 【BZOJ4553】[Tjoi2016&Heoi2016]序列 cdq分治+树状数组
- react jsx 数组变量的写法
- 15.9 调整内置数组达到STL版本的功能
- Java 字符数组与字符串之间互相转换
- JNI C创建Java字符串数组
- [LeetCode]剑指 Offer 04. 二维数组中的查找
- laravel 查询数据库first()返回的数据转数组
- 63、【数组】AcWing 799. 最长连续不重复子序列——滑动窗口与Hash(C++版本)
- 动态规划-子序列问题(最长递增子序列、最长连续递增序列。最长重复子数组。最长公共子序列、不相交的线、最大子数组和)
- 字符串数组排序的快速排序实现
- [LeetCode] 581. Shortest Unsorted Continuous Subarray 最短无序连续子数组
- [LeetCode] 421. Maximum XOR of Two Numbers in an Array 数组中异或值最大的两个数字
- [LintCode] Continuous Subarray Sum 连续子数组之和
- C语言应用--数据类型定制一结构体数组