【力扣】【好题】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站搜前缀和就是将这道题
相关推荐
长安er2 分钟前
LeetCode 124/543 树形DP
算法·leetcode·二叉树·动态规划·回溯
Sheep Shaun5 分钟前
STL:list,stack和queue
数据结构·c++·算法·链表·list
杜子不疼.5 分钟前
【LeetCode 153 & 173_二分查找】寻找旋转排序数组中的最小值 & 缺失的数字
算法·leetcode·职场和发展
CSDN_RTKLIB7 分钟前
【LeetCode 热题 HOT 100】两数之和
算法·leetcode·职场和发展
Tisfy7 分钟前
LeetCode 2054.两个最好的不重叠活动:二分查找
算法·leetcode·二分查找·题解
Looooking10 分钟前
Python 之通过一个天平找出9个小球中唯一重量较轻的小球
python·算法
white-persist11 分钟前
【攻防世界】reverse | tt3441810 详细题解 WP
java·c语言·开发语言·数据结构·c++·算法·安全
YGGP14 分钟前
【Golang】LeetCode 70. 爬楼梯
算法·leetcode
小熳芋14 分钟前
组合总和- python-回溯哦&剪枝
算法·机器学习·剪枝