【力扣】【好题】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站搜前缀和就是将这道题
相关推荐
一只老丸2 分钟前
HOT100题打卡第38天——贪心算法
算法·贪心算法
普通网友4 分钟前
高性能TCP服务器设计
开发语言·c++·算法
醒过来摸鱼5 分钟前
9.12 sinc插值
python·线性代数·算法·numpy
普通网友10 分钟前
C++与硬件交互编程
开发语言·c++·算法
liliangcsdn13 分钟前
EnsembleRetriever中的倒数融合排序算法
算法·排序算法
HUTAC16 分钟前
重要排序算法(更新ing)
数据结构·算法
虹科测试测量1 小时前
德思特干货 | 单通道、多通道衰减器与衰减矩阵:如何选择合适的衰减方案
服务器·测试工具·算法·矩阵
mit6.8242 小时前
py期中实验选题:实现天气预测
python·算法
xuehaikj2 小时前
YOLOv8多场景人物识别定位与改进ASF-DySample算法详解
算法·yolo·目标跟踪
Wenhao.2 小时前
LeetCode 救生艇
算法·leetcode·golang