【力扣】【好题】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站搜前缀和就是将这道题
相关推荐
Tina学编程7 小时前
[HOT 100]今日一练------划分字母区间
算法·hot 100
RTC老炮7 小时前
RaptorQ前向纠错算法架构分析
网络·算法·架构·webrtc
故事和你917 小时前
洛谷-数据结构1-1-线性表2
开发语言·数据结构·算法·动态规划·图论
m0_555762907 小时前
从原始信号到IQ图的数学公式推导
算法
靠沿7 小时前
【递归、搜索与回溯算法】专题四——综合练习
算法·深度优先
北顾笙9807 小时前
day26-数据结构力扣
数据结构·算法·leetcode
德索精密工业-胡工7 小时前
M12连接器的增强技术:在高电磁干扰的车间里它是如何“活下来”的?
算法
ZenosDoron7 小时前
函数形参传数组
java·jvm·算法
极客天成ScaleFlash7 小时前
极客天成 NVFile 存算融合解决方案
算法·数据挖掘
Reisentyan8 小时前
[杭电春季联赛5]1004 赛马
算法