【力扣】【好题】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站搜前缀和就是将这道题
相关推荐
晨曦夜月15 分钟前
笔试强训day5
数据结构·算法
H_z___17 分钟前
Hz的计数问题总结
数据结构·算法
她说彩礼65万18 分钟前
C# 反射
java·算法·c#
练习时长一年18 分钟前
LeetCode热题100(搜索插入位置)
数据结构·算法·leetcode
hz_zhangrl19 分钟前
CCF-GESP 等级考试 2025年9月认证C++六级真题解析
c++·算法·青少年编程·程序设计·gesp·2025年9月gesp·gesp c++六级
喇一渡渡30 分钟前
Java力扣---滑动窗口(1)
java·算法·排序算法
net3m3337 分钟前
雅特力单片机用串口USART_INT_TDE中断比用USART_INT_TRAC的 发送效率要高
java·开发语言·算法
@我漫长的孤独流浪1 小时前
程序综合实践第十二周-二叉树
算法·深度优先·图论
啊阿狸不会拉杆1 小时前
《数字图像处理》第 3 章 - 灰度变换与空间滤波
图像处理·人工智能·算法·计算机视觉·数字图像处理