news 2026/6/24 18:20:50

力扣 500 和为 K 的子数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣 500 和为 K 的子数组
Problem: 560.和为 K 的子数组

思路

前缀和 + 小技巧

解题过程

题目大意可以理解为,让找一个数组中的连续非空子数组的和为k的数量。
这里可以使用前缀和数组suf[]来快速找到符合条件的子数组头和尾。因为一个子数组(i,j)的大小为suf[j] - suf[i-1],因此我们这里只需要找到suf[j] - suf[i-1] = k的两个数,那么题目就变成找到两个数的差为k。那么显而易见可以用哈希来找。
这里有个小技巧,我一开始存储的哈希是把suf[i]和i一起存了,于是变得判断当前的i是否大于哈希找出来的i(因为j>i-1),就得多个查找过程,这样可能会超时,后面发现直接边查边存就不会有这种问题了,这个小技巧适用于查找过程中有下标大小影响的时候,因为ii比当前下班大的下标的数据还未存入,所以这个时候查询只会查找到比当前下标小的数据。

复杂度

  • 时间复杂度: O(n)
  • 空间复杂度:O(n)

Code

class Solution { public int subarraySum(int[] nums, int k) { int len = nums.length; int[] suf = new int[len + 1]; for(int i = 0; i < len; i++) { suf[i + 1] = nums[i] + suf[i]; } Map<Integer,Integer> map = new HashMap<>(); int ans = 0; for(int i = 0; i <= len; i++) { int dif = suf[i] - k; ans += map.getOrDefault(dif, 0); map.merge(suf[i], 1, Integer::sum); } return ans; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 9:31:26

软件工程导论实验报告——商品管理系统(黑龙江大学)

面向对象分析与设计实验一 软件需求分析1.1 业务需求描述该系统在商家和顾客之间搭建了一个桥梁&#xff0c;需要实现商家对商品的售卖和修改&#xff0c;以及顾客的购买商品需求&#xff0c;期间还需要实现对商品和商家的管理以及对顾客的评估和管理。系统本身还需要对商家和顾…

作者头像 李华
网站建设 2026/6/24 17:17:50

不能头脑简单地搞“凡是”:凡是偶数2n(n的变域是N)必∈N

不能头脑简单地搞“凡是”&#xff1a;凡是偶数2n&#xff08;n的变域是N&#xff09;必∈N黄小宁设一游击队有无穷多个队员&#xff0c;队中各人都配有一枪。各枪都有枪号&#xff0c;将配有 n 号枪的人记为 n 号人&#xff0c;队中枪与人已一一配对&#xff1a; n 号人↔n 号…

作者头像 李华
网站建设 2026/6/24 0:54:02

Parquet Reading 加速

参考链接 https://zhuanlan.zhihu.com/p/675905983

作者头像 李华
网站建设 2026/6/24 22:47:00

从“写代码”到“定义问题”——AI 时代程序员的生存宣言

本文原创公开首发于 CSDN 如需转载&#xff0c;请在文首注明出处与作者&#xff1a;yu779 从“写代码”到“定义问题”——AI 时代程序员的生存宣言 > “AI 一天写的代码&#xff0c;比我一周都多&#xff0c;那我还有存在的意义吗&#xff1f;” > 带着这个灵魂拷问&am…

作者头像 李华
网站建设 2026/6/25 3:54:53

iPhone运行Android完整指南:Project Sandcastle终极教程

iPhone运行Android完整指南&#xff1a;Project Sandcastle终极教程 【免费下载链接】projectsandcastle Supporting tools for Android/Linux on the iPhone 项目地址: https://gitcode.com/gh_mirrors/pr/projectsandcastle 在iPhone上运行Android系统&#xff0c;这听…

作者头像 李华
网站建设 2026/6/24 3:45:55

微信遥控Mac:WeChatPlugin远程控制终极指南

微信遥控Mac&#xff1a;WeChatPlugin远程控制终极指南 【免费下载链接】WeChatPlugin-MacOS 微信小助手 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPlugin-MacOS 你是否曾经想过&#xff0c;躺在沙发上就能控制远在书房里的Mac电脑&#xff1f;或者在外出时突…

作者头像 李华