【力扣】【好题】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站搜前缀和就是将这道题
相关推荐
kobesdu5 分钟前
开源3D激光SLAM算法的异同点、优劣势与适配场景总结
算法·3d·机器人·ros
ZC跨境爬虫7 分钟前
3D 地球卫星轨道可视化平台开发 Day13(卫星可视化交互优化+丝滑悬停聚焦)
前端·算法·3d·json·交互
水木流年追梦11 分钟前
CodeTop Top 100 热门题目(按题型分类)
算法·leetcode
Tisfy17 分钟前
LeetCode 1722.执行交换操作后的最小汉明距离:连通图
算法·leetcode·dfs·题解·深度优先搜索·连通图
不知名的老吴24 分钟前
案例教学:最长递增子序列问题
数据结构·算法·动态规划
样例过了就是过了25 分钟前
LeetCode热题100 杨辉三角
c++·算法·leetcode·动态规划
念越32 分钟前
算法每日一题 Day05|双指针解决盛最多水的容器问题
算法·力扣
eggrall34 分钟前
Leetcode 最大连续 1 的个数 III(medium)
算法·leetcode·职场和发展
啊我不会诶35 分钟前
Educational Codeforces Round 120 (Rated for Div. 2) vp补题
c++·算法
贾斯汀玛尔斯38 分钟前
每天学一个算法--图算法(Graph Algorithms)
数据结构·算法