【leetcode复健-8】560. 和为 K 的子数组-前缀和思想+哈希表

发布时间:2026/10/1 4:24:39

【leetcode复健-8】560. 和为 K 的子数组-前缀和思想+哈希表 560. 和为 K 的子数组 - 力扣LeetCode给你一个整数数组nums和一个整数k请你统计并返回该数组中和为k的子数组的个数。子数组是数组中元素的连续非空序列。示例 1输入nums [1,1,1], k 2输出2示例 2输入nums [1,2,3], k 3输出2提示1 nums.length 2 * 104-1000 nums[i] 1000-107 k 107坑点与要点我们首先理清楚题目要求1. 找nums中连续子数组和为k2. 返回子数组个数相信大多数人都会通过看示例来快速理解题目但这题需要额外关注的是示例所给出的数组都是有序的而我们实际接收到的数组是无序的一定不能被示例所误导这题的正确题解很巧妙使用前缀和的思想将前缀和保存在一张哈希表中此后我们只需要关注哈希表中有多少个的前缀之和与当前数组前缀之和的差能够等于k即可如此这道题就转换成了与1. 两数之和 - 力扣LeetCode同类型的题目。正确思路两个前缀和之差确定一个数组。使用一张哈希表 hash1 来记录当前所有前缀键为数值前缀和值对应的前缀和个数cnt 记录满足和为 k 的子数组个数变量 prefix 前缀和从数组起始点开始不断累加每次循环将当前的前缀和个数 1 并计算 seen k - prefix seen 代表当前前缀数组要到达 k 所需要的前缀和在 hash1 中查询所需要的前缀和个数将其累加到 cnt 中。如此即可找出所有符合要求的子数组个数代码如下class Solution: def subarraySum(self, nums: List[int], k: int) - int: hash1 {} hash1[0] 1 prefix 0 seen 0 cnt 0 for i in nums: prefix i seen prefix - k if seen in hash1: cnt hash1[seen] if prefix in hash1: hash1[prefix] 1 else: hash1[prefix] 1 return cnt精华思路以后遇到连续的字符串/数组这类题目不仅可以考虑双指针也可以考虑使用前缀和思想尝试等价替代
延伸阅读

更多相关文章

2026/9/22 15:01:47

深入解析Linux SD卡初始化超时错误-110:从硬件排查到内核调试

1. 问题初探:当你的设备读不出SD卡时 最近在调试一块嵌入式开发板,系统启动日志里突然蹦出一行刺眼的错误: mmc0: error -110 whilst initialising SD card 。屏幕前的你,是不是也遇到过类似的情况?无论是树莓派、香…

2026/9/27 1:18:25

10分钟拥有桌面宠物:DyberPet 桌宠框架完整快速上手指南

10分钟拥有桌面宠物:DyberPet 桌宠框架完整快速上手指南 【免费下载链接】DyberPet Desktop Cyber Pet Framework based on PySide6 项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet 想让喜欢的角色搬进你的桌面,会走、会跳、会饿、还…

2026/10/1 5:48:15

XML批量导入实战:从文件解析到数据库入库的自动化方案

1. 从“手动复制粘贴”到“一键自动化”:批量导入XML文件的场景与价值 如果你曾经处理过几十、上百个XML文件,需要把它们的内容导入到某个系统、数据库或者分析工具里,那你一定体会过那种“复制、粘贴、再复制、再粘贴”的枯燥与低效。我最近…

2026/10/1 20:27:17

嵌入式Linux驱动开发实战:内核模块、设备树与调试技巧

1. 嵌入式驱动开发到底在忙什么 嵌入式驱动开发,圈内人常拿一句话自嘲:“硬件不动我动,硬件一动我更忙。”这句话听着有点绕,但干过的人都知道,驱动工程师干的活本质上是给软件和硬件之间当“翻译”,把芯片…

2026/10/1 20:22:16

Java WebSocket聊天系统课程设计:从选型到避坑全指南

简介:本资源是面向高校网络编程课程设计与Java毕业设计场景的完整项目包,围绕基于WebSocket的多人聊天系统展开,适合正在准备课程设计、需要可运行源码与配套报告的学生及自学者。项目实现了用户名密码登录、多人同时在线、在线用户实时同步、…

2026/10/1 5:21:14

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/1 17:09:46

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑