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

【前缀和计算和+哈希表查找次数】Leetcode 560. 和为 K 的子数组

题目要求

给定一个整数数组 nums 和一个整数 k,统计并返回该数组中和为 k 的子数组的个数。

子数组是数组中元素的连续非空序列。

示例 1
输入:nums = [1, 1, 1], k = 2
输出:2

示例 2
输入:nums = [1, 2, 3], k = 3
输出:2

提示

  • 1 <= nums.length <= 2 * 10^4
  • -1000 <= nums[i] <= 1000
  • -10^7 <= k <= 10^7

实际应用

金融数据分析

在股票或金融交易数据中,快速找到特定时间段内收益为特定值的交易窗口。

例如,识别连续几天内收益总和为某个目标值的交易窗口,帮助分析市场趋势。

实时数据监控

在实时数据流中,快速检测和响应特定的事件模式,如网络流量监控、服务器性能监控等。

例如,实时计算某段时间内的流量或负载是否达到预警阈值。

前缀和+哈希表优化

  • 思想:通过计算前缀和并利用哈希表记录每个前缀和出现的次数,可以快速计算任意子数组的和。当前缀和为 sum 时,若 sum - k 存在于哈希表中,则表示存在以当前索引结尾的子数组和为 k
  • 时间复杂度:遍历数组的时间复杂度为 O(n),中间利用哈希表查询删除的复杂度均为 O(1),因此总时间复杂度为 O(n)
#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;int subarraySum(vector<int> &nums, int k)
{unordered_map<int, int> mp;int sum = 0, res = 0;// mp[0]表示前缀和为0的子数组个数mp[0] = 1;for (int i = 0; i < nums.size(); i++){// 计算当前前缀和sum += nums[i];// 如果存在前缀和为sum-k的子数组,那么当前子数组就是满足条件的子数组if (mp.find(sum - k) != mp.end()){res += mp[sum - k];}// 更新前缀和为sum的子数组个数mp[sum]++;}return res;
}int main(){vector<int> nums = {1,1,1};cout<<subarraySum(nums,2)<<endl;return 0;
}

推荐一下

https://github.com/0voice

相关文章:

【前缀和计算和+哈希表查找次数】Leetcode 560. 和为 K 的子数组

题目要求 给定一个整数数组 nums 和一个整数 k&#xff0c;统计并返回该数组中和为 k 的子数组的个数。 子数组是数组中元素的连续非空序列。 示例 1 输入&#xff1a;nums [1, 1, 1], k 2 输出&#xff1a;2 示例 2 输入&#xff1a;nums [1, 2, 3], k 3 输出&#xf…...

[原创](现代Delphi 12指南):[macOS 64bit App开发]:如何使用CFStringRef类型字符串?

[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、…...

89.WPF 中实现便捷的数字输入框:DecimalUpDown 控件的使用 WPF例子 C#例子.

在 WPF 开发中&#xff0c;经常会遇到需要用户输入数字的场景。为了提供更好的用户体验&#xff0c;我们可以使用一个功能强大的控件——DecimalUpDown&#xff0c;它来自第三方库 Extended WPF Toolkit。这个控件不仅支持用户通过键盘输入数字&#xff0c;还支持通过鼠标滚轮或…...

【时时三省】(C语言基础)循环程序举例

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 例题: 用公式4/π≈1-3/1+5/1-7/1+...求π的近似值,直到发现某一项的绝对值小于10的-6次方为止(该项不累加)。 解题思路: 这是求值的近似方法中的一种。求π值可以用不同的近似方法。如下面的表达式都可以…...

Linux常用中间件命令大全

1.nginx 执行命令之前需要先进入sbin目录查看nginx版本&#xff1a; ./nginx -v检查配置文件正确性&#xff1a; ./nginx -t启动nginx服务&#xff1a; ./nginx停止nginx服务&#xff1a; ./nginx -s stop启动完成后可以查看nginx进程&#xff1a; ps -ef|grep nginx可以通过绝…...

数图信息科技邀您共赴第二十五届中国零售业博览会

数图信息科技邀您共赴第二十五届中国零售业博览会 2025年5月8日至10日&#xff0c;数图信息科技将精彩亮相第二十五届中国零售业博览会&#xff08;CHINASHOP 2025&#xff09;&#xff0c;与行业伙伴共探零售数字化转型新机遇&#xff01; 数图展会新品抢先看 数图商品一…...

路由器的基础配置全解析:静态动态路由 + 华为 ENSP 命令大全

&#x1f680; 路由器的基础配置全解析&#xff1a;静态&动态路由 华为 ENSP 命令大全 &#x1f310; 路由器的基本概念&#x1f4cd; 静态路由配置&#x1f4e1; 动态路由协议&#xff1a;RIP、OSPF、BGP&#x1f5a5; 华为 ENSP 路由器命令大全&#x1f539; 路由器基本…...

「Java EE开发指南」如何使用MyEclipse的可视化JSF编辑器设计JSP?(一)

本教程介绍在MyEclipse中开发EJB 3无状态会话bean&#xff0c;由于JPA实体和EJB 3实体非常相似&#xff0c;因此本教程不涉及EJB 3实体Bean的开发。在本教程中&#xff0c;您将学习如何&#xff1a; Visual JSF Designer&#xff08;可视化JSF设计器&#xff09;的目标是使创建…...

【设计】接口幂等性设计

1. 幂等性定义 接口幂等性&#xff1a; 无论调用次数多少&#xff0c;对系统状态的影响与单次调用相同。 比如用户支付接口因网络延迟重复提交了三次。 导致原因&#xff1a; 用户不可靠&#xff08;手抖多点&#xff09;网络不可靠&#xff08;超时重传&#xff09;系统不可…...

深入理解机器学习:人工智能的核心驱动力

在当今数字化时代&#xff0c;机器学习作为人工智能领域的关键技术&#xff0c;正以前所未有的速度改变着我们的生活和工作方式。从智能语音助手到精准的医疗诊断&#xff0c;从个性化的推荐系统到自动驾驶汽车&#xff0c;机器学习的应用无处不在&#xff0c;其影响力深远而广…...

CI/CD自动化部署(持续集成和持续交付/部署)

持续集成&#xff1a;开发人员频繁地将代码集成到共享仓库&#xff0c;然后自动运行测试持续交付&#xff1a;自动准备好发布&#xff0c;但需要手动触发部署持续部署&#xff1a;完全自动化的&#xff0c;不需要人工干预 流程&#xff1a; 比如&#xff0c;当开发人员提交代…...

如何理解计算机网卡完成数据传输的串并转换

计算机网卡的串并转换(串行-并行转换)是网络通信中的一个关键硬件功能,主要涉及数据的传输形式转换。它的核心目的是解决计算机内部处理数据的方式(并行)与网络传输数据的方式(串行)之间的差异。以下是通俗易懂的解释: 1. 串行传输 vs. 并行传输 并行传输: 计算机内部…...

基于Axure的动态甘特图设计:实现任务增删改与时间拖拽交互

甘特图作为项目管理核心工具&#xff0c;其动态交互能力直接关系到团队协作效率。本文以Axure RP 9为载体&#xff0c;通过中继器&#xff08;Repeater&#xff09;与动态面板&#xff08;Dynamic Panel&#xff09;的深度结合&#xff0c;设计一款支持任务名称动态编辑、时间轴…...

XMOS空间音频——在任何设备上都能提供3D沉浸式空间音频且实现更安全地聆听

2025年3月&#xff0c;全球规模最大的嵌入式行业盛会——德国纽伦堡国际嵌入式展&#xff08;Embedded World 2025&#xff0c;EW 25&#xff09;圆满落幕。在这场汇聚全球 950 家展商、3 万余专业观众的科技盛宴中&#xff0c;XMOS 展位人头攒动&#xff0c;多款尖端产品和多…...

使用功能包组织C++节点的具体教程

在 ROS&#xff08;Robot Operating System&#xff09;中&#xff0c;使用功能包&#xff08;package&#xff09;来组织 C 节点是一种常见且有效的方式&#xff0c;它能让代码结构更清晰、便于管理和复用。 1. 环境准备 确保已经安装了 ROS&#xff0c;这里以 ROS 2 Humble…...

免费的车牌势识别系统

背景 就是想要一个车牌识别系统 直接上教程 需要首先安装python3 然后执行下面的命令 pip install hyperlpr3 lpr3 rest --port 9999 --host 0.0.0.0 --workers 1 访问地址地址 # 9999 与上述端口一致 http://你的ip:9999/api/v1/docs 测试效果 准备一张图片 lpr3 sa…...

微信小程序蓝牙连接打印机打印单据完整Demo【蓝牙小票打印】

文章目录 一、准备工作1. 硬件准备2. 开发环境 二、小程序配置1. 修改app.json 三、完整代码实现1. pages/index/index.wxml2. pages/index/index.wxss3. pages/index/index.js 四、ESC/POS指令说明五、测试流程六、常见问题解决七、进一步优化建议 下面我将提供一个完整的微信…...

阿里云基于本地知识库构建RAG应用 | 架构与场景

RAG&#xff08;检索增强生成&#xff0c;Retrieval-Augmented Generation&#xff09;是一种结合了检索和生成技术的框架&#xff0c;旨在通过外部知识库的检索来增强大语言模型&#xff08;LLM&#xff09;的生成能力。 其核心架构包括两个主要部分&#xff1a; 检索模块&a…...

Python----深度学习(基于深度学习Pytroch簇分类,圆环分类,月牙分类)

一、引言 深度学习的重要性 深度学习是一种通过模拟人脑神经元结构来进行数据学习和模式识别的技术&#xff0c;在分类任务中展现出强大的能力。 分类任务的多样性 分类任务涵盖了各种场景&#xff0c;例如簇分类、圆环分类和月牙分类&#xff0c;每种任务都有不同的…...

Python图像处理——基于Retinex算法的低光照图像增强系统

1.项目内容 &#xff08;1&#xff09;算法介绍 ①MSRCR (Multi-Scale Retinex with Color Restoration) MSRCR 是多尺度 Retinex 算法&#xff08;MSR&#xff09;的扩展版&#xff0c;引入了色彩恢复机制以进一步提升图像增强质量。MSR 能有效地压缩图像动态范围&#xff…...

【网络】MQTT协议

MQTT协议全称是&#xff08;Message Queuing Telemetry Transport&#xff09;&#xff0c;即消息队列遥测传输协议 是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议&#xff0c;该协议构建于TCP/IP协议上 MQTT通信模型 特点&#xff1a; 1、客户端使用它连…...

python基础-requests结合AI实现自动化数据抓取

Python Requests高级指南&#xff1a;从入门到精通 概述 Requests 是一个基于 urllib3 封装的 Python HTTP 客户端库&#xff0c;提供了极其简洁且人性化的接口&#xff0c;使得发送 HTTP 请求和处理响应变得轻而易举。它支持常见的 HTTP 方法&#xff08;GET、POST、PUT、DE…...

边界凸台建模与实例

文章目录 边界凸台特征耳机案例瓶子 边界凸台特征 两侧对称拉伸最上面的圆柱 同过两点一基准面画草图&#xff0c;在基准面上画椭圆 隐藏无关的实体和草图&#xff0c;以便椭圆的端点能与线给穿透约束&#xff0c;下面的点与下面的线也给穿透&#xff0c;短轴长给35&#xff08…...

Kafka和Spark-Streaming

Kafka和Spark-Streaming 一、Kafka 1、Kafka和Flume的整合 ① 需求1&#xff1a;利用flume监控某目录中新生成的文件&#xff0c;将监控到的变更数据发送给kafka&#xff0c;kafka将收到的数据打印到控制台&#xff1a; 在flume/conf下添加.conf文件&#xff0c; vi flume…...

5.2 AutoGen:支持多Agent对话的开源框架,适合自动化任务

AutoGen作为由Microsoft开发的开源框架&#xff0c;已成为构建多Agent对话系统和自动化任务的领先工具。其核心在于通过自然语言和代码驱动的多Agent对话&#xff0c;支持复杂任务的自治执行或结合人类反馈优化&#xff0c;广泛应用于客服自动化、金融分析、供应链优化和医疗诊…...

探索亚马逊云科技:开启您的云计算之旅

前言 在当今数字化时代&#xff0c;云计算已成为企业和个人不可或缺的技术基础设施。作为全球领先的云服务提供商&#xff0c;亚马逊云科技&#xff08;Amazon Web Services&#xff09;为您提供强大、可靠且安全的云计算解决方案。 想要立即体验亚马逊云科技的强大功能&#x…...

2023年第十四届蓝桥杯Scratch02月stema选拔赛真题——算式题

完整题目可点击下方地址查看&#xff0c;支持在线编程&#xff0c;支持源码和素材获取&#xff1a; 算式题_scratch_少儿编程题库学习中心-嗨信奥https://www.hixinao.com/tiku/scratch/show-4267.html?_shareid3 程序演示可点击下方地址查看&#xff0c;支持源码和素材获取&…...

霍格软件测试-JMeter高级性能测试一期

课程大小&#xff1a;32.2G 课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/90631395 更多资源下载&#xff1a;关注我 当下BAT、TMD等互联网一线企业已几乎不再招募传统测试工程师&#xff0c;而只招测试开发工程师&#xff01;在软件测试技术栈迭代…...

django.db.utils.OperationalError: (1050, “Table ‘你的表名‘ already exists“)

这个错误意味着 Django 尝试执行迁移时&#xff0c;发现数据库中已经有一张叫 你的表名的表了&#xff0c;但这张表不是通过 Django 当前的迁移系统管理的&#xff0c;或者迁移状态和数据库实际状态不一致。 &#x1f9e0; 可能出现这个问题的几种情况&#xff1a; 1.你手动创…...

分布式ID生成方案详解

分布式ID生成方案详解 一、问题背景 分库分表场景下&#xff0c;传统自增ID会导致不同库/表的ID重复&#xff0c;需要分布式ID生成方案解决以下核心需求&#xff1a; •全局唯一性&#xff1a;跨数据库/表的ID不重复 •有序性&#xff1a;利于索引优化和范围查询 •高性能&…...

短视频矩阵系统可视化剪辑功能开发,支持OEM

在短视频营销与内容创作竞争日益激烈的当下&#xff0c;矩阵系统中的可视化剪辑功能成为提升内容产出效率与质量的关键模块。它以直观的操作界面和强大的编辑能力&#xff0c;帮助创作者快速将创意转化为优质视频。本文将结合实际开发经验&#xff0c;从需求分析、技术选型到核…...

使用开源免费雷池WAF防火墙,接入保护你的网站

使用开源免费雷池WAF防火墙&#xff0c;接入保护你的网站 大家好&#xff0c;我是星哥&#xff0c;昨天介绍了《开源免费WEB防火墙&#xff0c;不让黑客越雷池一步&#xff01;》链接&#xff1a;https://mp.weixin.qq.com/s/9TOXth3128N6PtXhaWI5aw 今天讲一下如何把网站接入…...

Python-Agent调用多个Server-FastAPI版本

Python-Agent调用多个Server-FastAPI版本 Agent调用多个McpServer进行工具调用 1-核心知识点 fastAPI的快速使用agent调用多个server 2-思路整理 1&#xff09;先把每个子服务搭建起来2&#xff09;再暴露一个Agent 3-参考网址 VSCode配置Python开发环境&#xff1a;https:/…...

spark-standalone模式

Spark Standalone模式是Spark集群的一种部署方式&#xff0c;即在没有使用其他资源管理器&#xff08;如YARN或Mesos&#xff09;的情况下&#xff0c;在Spark自身提供的集群管理器中部署和运行Spark应用程序。 在Spark Standalone模式下&#xff0c;有一个主节点&#xff08;…...

3、LangChain基础:LangChain Chat Model

Prompt templates: Few shot、Example selector Few shot(少量示例) 创建少量示例的格式化程序 创建一个简单的提示模板,用于在生成时向模型提供示例输入和输出。向LLM提供少量这样的示例被称为少量示例,这是一种简单但强大的指导生成的方式,在某些情况下可以显著提高模型…...

信创时代开发工具选择指南:国产替代背景下的技术生态与实践路径

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…...

Coze高阶玩法 | 使用Coze制作思维认知提升视频,效率提升300%!(附保姆级教程)

目录 一、工作流整体设计 二、制作工作流 2.1 开始节点 2.2 大模型 2.3 文本处理 2.4 代码 2.5 批处理 2.6 选择器 2.7 画板_视频模板 2.8 合成音频 2.9 图片与音频合并视频 2.10 视频合并 2.11 结束节点 三、智能体应用体验 中午吃饭的时候,刷到了一个思维认知…...

数据湖DataLake和传统数据仓库Datawarehouse的主要区别是什么?优缺点是什么?

数据湖和传统数据仓库的主要区别 以下是数据湖和传统数据仓库的主要区别&#xff0c;以表格形式展示&#xff1a; 特性数据湖传统数据仓库数据类型支持结构化、半结构化及非结构化数据主要处理结构化数据架构设计扁平化架构&#xff0c;所有数据存储在一个大的“池”中多层架…...

GStreamer 简明教程(十一):插件开发,以一个音频生成(Audio Source)插件为例

系列文章目录 GStreamer 简明教程&#xff08;一&#xff09;&#xff1a;环境搭建&#xff0c;运行 Basic Tutorial 1 Hello world! GStreamer 简明教程&#xff08;二&#xff09;&#xff1a;基本概念介绍&#xff0c;Element 和 Pipeline GStreamer 简明教程&#xff08;三…...

chrome://inspect/#devices 调试 HTTP/1.1 404 Not Found 如何解决

使用chrome是需要翻墙的&#xff0c;可以换个浏览器进行使用 可以使用edge浏览器&#xff0c;下载地址如下 微软官方edge浏览器|Mac版&#xff1a;浏览更智能&#xff0c;工作更高效 下载Edge浏览器 edge://inspect/#devices 点击inspect即可 qq浏览器 1. 下载qq浏览器 2. …...

RFID使用指南

## 什么是RFID&#xff1f; RFID&#xff08;Radio Frequency Identification&#xff09;即射频识别技术&#xff0c;是一种通过无线电波进行非接触式数据交换的技术。 ## RFID系统的主要组成部分 1. **RFID标签&#xff08;Tag&#xff09;** - 包含芯片和天线 - 分为有源标…...

初识Redis · 哨兵机制

目录 前言&#xff1a; 引入哨兵 模拟哨兵机制 配置docker环境 基于docker环境搭建哨兵环境 对比三种配置文件 编排主从节点和sentinel 主从节点 sentinel 模拟哨兵 前言&#xff1a; 在前文我们介绍了Redis的主从复制有一个最大的缺点就是&#xff0c;主节点挂了之…...

JAVA设计模式——(七)代理模式

JAVA设计模式——&#xff08;七&#xff09;代理模式 介绍理解实现抽象主题角色具体主题角色代理类测试 应用 介绍 代理模式和装饰模式还是挺像的。装饰模式是抽象类对装饰对象的实现&#xff0c;在继承装饰对象。代理模式则是直接对代理对象的实现。 理解 代理模式可以看成…...

Redis 原子操作

文章目录 前言✅ 一、什么是「原子操作」&#xff1f;&#x1f50d; 二、怎么判断一个操作是否原子&#xff1f;&#x1f9ea; 三、项目中的原子 vs 非原子案例&#xff08;秒杀系统&#xff09;✅ 原子性&#xff08;OK&#xff09;❌ 非原子性&#xff08;高风险&#xff09;…...

待办事项日历组件实现

待办事项日历组件实现 今天积累一个简易的待办事项日历组件的实现方法。 需求&#xff1a; 修改样式&#xff0c;变成符合项目要求的日历样式日历上展示待办事项提示&#xff08;有未完成待办&#xff1a;展示黄点&#xff0c;有已完成待办&#xff1a;展示绿点&#xff09;…...

Flask 请求数据获取方法详解

一、工作原理 在 Flask 中&#xff0c;所有客户端请求的数据都通过全局的 request 对象访问。该对象是 请求上下文 的一部分&#xff0c;仅在请求处理期间存在。Flask 在收到请求时自动创建 request 对象&#xff0c;并根据请求类型&#xff08;如 GET、POST&#xff09;和内容…...

PicoVR眼镜在XR融合现实显示模式下无法显示粒子问题

PicoVR眼镜开启XR融合现实显示模式下&#xff0c;Unity3D粒子效果无法显示问题&#xff0c;其原因是XR融合显示模式下&#xff0c;Unity3D应用显示层在最终合成到眼镜显示器时&#xff0c;驱动层先渲染摄像机画面&#xff0c;再以Alpha透明方式渲染应用层画面&#xff0c;问题就…...

vue-lottie的使用和配置

一、vue-lottie 简介 vue-lottie 是一个 Vue 组件&#xff0c;用于在 Vue 项目中集成 Airbnb 的 Lottie 动画库。它通过 JSON 文件渲染 After Effects 动画&#xff0c;适用于复杂矢量动画的高效展示。 二、安装与基础使用 1. 安装 npm install vue-lottielatest # 或 yarn…...

PyTorch 实现食物图像分类实战:从数据处理到模型训练

一、简介 在计算机视觉领域&#xff0c;图像分类是一项基础且重要的任务&#xff0c;广泛应用于智能安防、医疗诊断、电商推荐等场景。本文将以食物图像分类为例&#xff0c;基于 PyTorch 框架&#xff0c;详细介绍从数据准备、模型构建到训练测试的全流程&#xff0c;帮助读者…...

传统中台的重生——云原生如何重塑政务系统后端架构

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:传统后端架构的“痛”与“变” 在过去十年中,无数企业和机构纷纷构建中台系统,尤其是政务、金融、交通、教育等领域。这些中台系统一般基于 Java EE 单体架构,集中部署于虚拟机上,靠人…...