【力扣】【好题】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站搜前缀和就是将这道题
相关推荐
JustNow_Man几秒前
【Harness】本地文本向量化搜索解决方案--qmd
git·python·算法
敲代码的苦1316 分钟前
头歌 数据结构—消防资源调度
数据结构·算法
布莱克60523 分钟前
C++ 中 set 与 map 的区别详解
开发语言·c++·算法·哈希
lisw0530 分钟前
算法与软件的本质区别
驱动开发·算法·数学建模
我不会插花弄玉32 分钟前
5.Hash 【由浅入深-redis】
redis·算法·哈希算法
Nuanyt36 分钟前
LeetCode Hot 100 · 双指针 3 题 Java
java·笔记·算法·leetcode·双指针
志起计算机编程2 小时前
Clickhouse的几个关键优势
算法
重生之小比特2 小时前
【算法拾光 7】双指针|两数之和 II - 输入有序数组 + 三数之和
算法
文丑颜不良啊2 小时前
LeetCode851~875题目解析
java·leetcode
Navigator_Z2 小时前
LeetCode //C - 1304. Find N Unique Integers Sum up to Zero
c语言·算法·leetcode