【力扣】【好题】560.和为k的子数组 || 前缀和

添加链接描述

python 复制代码
class Solution:
    def subarraySum(self, nums: List[int], k: int) -> int:
        sum=0
        res=0
        dict={}
        dict[0]=1
        for num in nums:
            sum=sum+num
            if sum-k in dict:
                res+=dict[sum-k]
            if sum in dict:
                dict[sum]+=1
            else:
                dict[sum]=1
        return res

思路:

  1. 利用前缀和的思想
  2. sum用来计算从下标0的元素,到下标问为x的元素的和
  3. 使用字典,记录钱x项有多少个结果
  4. 所需要的组数就是目前的加和sum减去目标k后剩下的数出现的次数,这个数在字典里找
  5. B站搜前缀和就是将这道题
相关推荐
优化控制仿真模型3 分钟前
2026年最新驾考科目一考试题库2309道全。电子版pdf
经验分享·算法·pdf
qq_334903156 分钟前
嵌入式C++驱动开发
开发语言·c++·算法
阿贵---17 分钟前
C++代码规范化工具
开发语言·c++·算法
暮冬-  Gentle°25 分钟前
自定义内存检测工具
开发语言·c++·算法
ccLianLian36 分钟前
数论·欧拉函数
数据结构·算法
2501_9454248043 分钟前
C++编译期矩阵运算
开发语言·c++·算法
2301_815482931 小时前
C++中的类型标签分发
开发语言·c++·算法
xushichao19891 小时前
代码生成优化技术
开发语言·c++·算法
炽烈小老头1 小时前
【每天学习一点算法 2026/03/22】前 K 个高频元素
学习·算法
2401_873204651 小时前
模板编译期循环展开
开发语言·c++·算法