当前位置: 首页 > news >正文

560. 和为 K 的子数组(前缀和 + 哈希表)

在这里插入图片描述
这道题的思路就是:
前缀和的差值可以表示一个区间内的元素的总和。
所以index1处的前缀和如果为sum,那么前面只要出现过 k - sum 的前缀和就表示,有和为k的子数组存在。
因为,sum - (sum - k)= k

class Solution {
public:int subarraySum(vector<int>& nums, int k) {map<int, int> m;int ans = 0;int pre = nums[0];m[pre]++;if(m.count(k)) ans ++;for(int i = 1; i < nums.size(); i ++) {ans += m[pre + nums[i] - k];if(pre + nums[i] == k) ans ++;m[pre + nums[i]] ++;pre += nums[i];}return ans;}
};

相关文章:

  • 软考系统架构之案例篇(Redis相关概念)
  • java开发中,如何在springboot下使用单例模式
  • 【笔录】TVP技术沙龙:寻宝AI时代
  • 持续集成部署-k8s-服务发现-Ingress
  • 【QT】信号和槽能自动传递参数
  • 威联通NAS进阶玩法之使用Docker搭建个人博客教程
  • 【设计模式】第4节:创建型模式之“单例模式”
  • vue3 源码解析(1)— reactive 响应式实现
  • NNDL:作业五
  • Python leetcode468:验证ip地址,解法
  • Redis 与 MySQL 一致性 实现方案
  • 一文解决:Swagger API 未授权访问漏洞问题
  • JS递归函数详解
  • 如何使用 JMeter 进行 HTTPS 请求测试?
  • Spring Boot集成Swagger接口分类与各元素排序问题
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • Apache的80端口被占用以及访问时报错403
  • conda常用的命令
  • Git学习与使用心得(1)—— 初始化
  • JAVA多线程机制解析-volatilesynchronized
  • Js基础知识(四) - js运行原理与机制
  • mongodb--安装和初步使用教程
  • Promise面试题,控制异步流程
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 编写高质量JavaScript代码之并发
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 回流、重绘及其优化
  • 力扣(LeetCode)56
  • 聊聊flink的TableFactory
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 前端面试题总结
  • 深度学习入门:10门免费线上课程推荐
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 用Canvas画一棵二叉树
  • C# - 为值类型重定义相等性
  • MPAndroidChart 教程:Y轴 YAxis
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​香农与信息论三大定律
  • #在 README.md 中生成项目目录结构
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (LeetCode 49)Anagrams
  • (Python) SOAP Web Service (HTTP POST)
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (三) diretfbrc详解
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (原)本想说脏话,奈何已放下
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • ... 是什么 ?... 有什么用处?
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net core 6 redis操作类
  • .Net core 6.0 升8.0
  • .NET Micro Framework初体验