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

C++速通LeetCode中等第7题-和为K的子数组(巧用前缀和)

巧用哈希表与前缀和,前缀和差为k的两个序号之间的数组就是满足条件的子数组,用哈希表来存放每个序号的前缀和。

前缀和就是头元素到当前序号子数组元素的和

class Solution {
public:int subarraySum(vector<int>& nums, int k) {unordered_map<int, int> mp;mp[0] = 1;int count = 0, pre = 0;for (auto& x:nums) {pre += x;if (mp.count(pre - k)) {//看有没有前缀和差为目标k的两个序号count += mp[pre - k];//有的话答案加上满足的前序数量}mp[pre]++;//记录每一个序号的前缀和,前缀和相等的话,map->second计数会加一}return count;}
};

http://www.lryc.cn/news/442334.html

相关文章:

  • 【读书笔记-《30天自制操作系统》-23】Day24
  • XML:DOM4j解析XML
  • 15.5 创建监控控制平面的service
  • 【Docker Nexus3】maven 私库
  • Docker本地部署Chatbot Ollama搭建AI聊天机器人并实现远程交互
  • MySQL:用户管理
  • 论文《Mixture of Weak Strong Experts on Graphs》笔记
  • 【诉讼流程-健身房-违约-私教课-诉讼书提交流程-民事诉讼-自我学习-铺平通往法律的阶梯-讲解(3)】
  • 数据结构(Day14)
  • Paragon NTFS for Mac和Tuxera NTFS for Mac,那么两种工具有什么区别呢?
  • HashTable结构体数组实现
  • Python 管理 AWS ElastiCache 告警
  • 【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)
  • [数据集][目标检测]不同颜色的安全帽检测数据集VOC+YOLO格式7574张5类别
  • 确保 App 跟踪透明度权限:Flutter 中的实践
  • 李沐 过拟合和欠拟合【动手学深度学习v2】
  • Go Testify学习与使用
  • Word中引用参考文献和公式编号的方法
  • [数据集][目标检测]智慧养殖场肉鸡目标检测数据集VOC+YOLO格式3548张1类别
  • Vision Transform—用于大规模图像分类的Transformers架构
  • 内核驱动开发之系统移植
  • 前端在网络安全攻击问题上能做什么?
  • IntelliJ IDEA 创建 HTML 项目教程
  • YOLOv9改进系列,YOLOv9主干网络替换为RepViT (CVPR 2024,清华提出,独家首发),助力涨点
  • VBS学习1 - 语法、内置函数、内置对象
  • 11 vue3之插槽全家桶
  • Excel 基础知识-操作手册1
  • Python 类的继承
  • gRPC介绍
  • Git之误执行git rm -r解决方案(六十七)