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

【LeetCode刷题】前缀和解决问题:560.和为k的子数组

【LeetCode刷题】Day 16

  • 题目1:560.和为k的子数组
    • 思路分析:
    • 思路1:前缀和 + 哈希表

在这里插入图片描述

题目1:560.和为k的子数组

在这里插入图片描述

思路分析:

问题1:怎样找到数组所有子数组?

方式一:暴力枚举出来,以i开始,列出以i开头的所有子数组[i,j](i <= j<= size-1)再i++,列出下一个位置开头的所有子数组。

方式二:前缀和思想,我们用dp[i]来表示[0,i]的数组,要找以i结尾的所有子数组,只需要 dp[i]-dp[j](0<= j <= i-1) 就可以表示所有以i结尾的子数组

下图就这题引入:
请添加图片描述

在这里插入图片描述
问题2:为什么这样转换?

因为在求以i结尾的所有子数组的和时,i和k是不变的,他们的差值也是固定值,所以问题就转换为:前缀和为k的数量,注意: 0<= j <=i-1

问题3:怎样不创建前缀和数组,但统计数量?

用一个int sum来就可以实现,再加上哈希表,就能解决这些问题。

思路1:前缀和 + 哈希表

代码实现:

class Solution {
public:int subarraySum(vector<int>& nums, int k) {//前缀和+哈希表unordered_map<int,int> hash;int sum=0 , ret=0;//处理当sum[i]本身等于k的情况hash[0] = 1;for(auto i : nums){sum+=i;//判断是否存在值为sum-k的key,有就加数量if(hash.count(sum - k)) ret+=hash[sum-k];hash[sum]++;}return ret;}
};

LeetCode链接:560.和为k的子数组

相关文章:

【LeetCode刷题】前缀和解决问题:560.和为k的子数组

【LeetCode刷题】Day 16 题目1&#xff1a;560.和为k的子数组思路分析&#xff1a;思路1&#xff1a;前缀和 哈希表 题目1&#xff1a;560.和为k的子数组 思路分析&#xff1a; 问题1&#xff1a;怎样找到数组所有子数组&#xff1f; 方式一&#xff1a;暴力枚举出来&#x…...

DTU在城市智慧供热上的应用:引领供热行业的智能化革新

随着城市化的快速推进和人们对舒适生活需求的日益增长&#xff0c;供热系统作为城市基础设施的重要组成部分&#xff0c;其智能化、高效化的发展已成为必然趋势。在这一进程中&#xff0c;DTU&#xff08;Data Transfer Unit&#xff0c;数据传输单元&#xff09;以其独特的优势…...

LeetCode | 58.最后一个单词的长度

这道题要求最后一个单词的长度&#xff0c;第一个想到的就是反向遍历字符串&#xff0c;寻找最后一个单词并计算其长度。由于尾部可能会有’ &#xff0c;所以我们从后往前遍历字符串&#xff0c;找到第一个非空格的字符&#xff0c;然后记录下到下一个空格前依次有多少个字母即…...

202479读书笔记|《你是人间的四月天》——谁又能参透这幻化的轮回, 谁又大胆的爱过这伟大的变幻?

202479读书笔记|《你是人间的四月天》——谁又能参透这幻化的轮回&#xff0c; 谁又大胆的爱过这伟大的变幻&#xff1f; 散文诗歌书信 《你是人间的四月天&#xff08;果麦经典&#xff09;》作者林徽因&#xff0c;才女的散文&#xff0c;诗歌&#xff0c;书信集选。很值得一…...

近期docker镜像加速器被封杀,需要的请看此内容 点赞加关注

{ “registry-mirrors”: [“https://docker.m.daocloud.io”], “insecure-registries”: [“harbor.sunya.com”], “exec-opts”: [“native.cgroupdriversystemd”], “data-root”: “/data/docker”, “log-driver”: “json-file”, “log-opts”: {“max-size”:“500m…...

开源大模型的新星:ChatGPT-Next-Web 项目解析与推荐

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

【区块链】记账的千年演化:从泥板到区块链

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 记账的千年演化&#xff1a;从泥板到区块链引言一、古代记账&#xff1a;泥板与…...

MySQL的索引类型,以及各自的作用

MySQL的索引类型&#xff0c;以及各自的作用 常见的索引类型 主键索引&#xff08;Primary Key Index&#xff09;&#xff1a; 唯一标识表中的记录&#xff0c;确保索引列的值在整个表中是唯一的主键索引通常是唯一索引的一种特例作用&#xff1a;加速查询&#xff0c;并自动…...

数组中的map方法

JavaScript中的map()方法详解 map()方法经常拿来遍历数组&#xff0c;但是不改变原数组&#xff0c;但是会返回一个新的数组&#xff0c;并且这个新的数组不会改变原数组的长度 注意&#xff1a;有时候会出现这种现象&#xff0c;出现几个undefined const array [1, 4,9, 16…...

使用Python生成并上传文档

这是一个简单的 Python 程序&#xff0c;用于生成文本文件并上传至 FTP 服务器&#xff1b; 通过输入文件名和内容&#xff0c;你可以将文档上传至指定的 FTP 服务器目录中&#xff1b; 在上传成功后&#xff0c;程序会自动关闭窗口。 使用方法 输入文件名和内容。 点击“生…...

LAMP部署及应用

在Web开发和应用程序部署中&#xff0c;LAMP&#xff08;Linux、Apache、MySQL/MariaDB、PHP/Python/Perl&#xff09;环境是一个经典的选择。本文将详细介绍如何在Linux系统上部署和配置LAMP环境&#xff0c;并展示一个简单的应用示例。 --- 目录 1. 简介 2. 准备工作 3. 步…...

【STM32进阶笔记】GPIO端口

前段时间由于其他原因&#xff0c;专栏暂停更新了较长一段时间&#xff0c;现在恢复更新&#xff0c;争取继续为大家创造有价值的内容&#xff0c;期待大家的订阅关注&#xff0c;欢迎互相学习交流。 在STM32速成笔记系列专栏中其实已经对GPIO的一些必要知识进行了介绍&#xf…...

探索HTML5 Geolocation:精准定位网页的新纪元

在互联网技术日新月异的今天&#xff0c;地理定位已经成为众多Web应用不可或缺的一部分&#xff0c;而HTML5 Geolocation API正是这一领域的关键技术。本文将深入剖析HTML5 Geolocation API的工作原理、使用方法&#xff0c;并通过实战代码示例&#xff0c;带你领略其在现代网页…...

C++程序打开EXCEL2010失败,提示:远程过程调用失败

前两天将Foxit福昕PDF阅览器升级到了最新版本&#xff0c;导致了这个问题&#xff0c;参照这篇文章才知道是升级了福昕阅读器引起的&#xff1a; c#调用excel报错(异常来自HRESULT:0X80010105(RPC_SERVERFAULT)) 这个问题折腾了很久才搞定&#xff0c;网上的很多办法都不靠谱…...

错题记录(小测)

单选 错题1 错题2 错题3 代码题 反转链表 链表的回文结构...

ChromeOS 逐渐靠近安卓

ChromeOS 逐渐 “安卓化” 谷歌在博客中透露&#xff0c;将在ChromeOS底层更广泛地使用和Android相同的技术栈。一个具体的例子是&#xff0c;ChromeOS现在已经开始使用Android的蓝牙协议栈&#xff0c;取代了之前使用的自己的协议栈。这次改变不仅提高了蓝牙配对速度&#xf…...

vector模拟实现

目录 vector介绍 vector示意图 关于vector扩容的问题 vector框架 构造函数 析构函数 vector有关空间容量函数 insert和erase pop_back和push_back 其它构造函数 拷贝构造 迭代器区间构造 运算符重载 关于迭代器失效问题【重点】 有关insert发生迭代器失效 有关…...

RV32F\RV32D指令集

RV32F\RV32D指令集 F扩展1、浮点控制状态寄存器2、指令类型F扩展 F扩展增加了32个浮点寄存器f0-f31,每个32位宽,以及一个浮点控制和状态寄存器fcsr,其中包含浮点单元的工作模式和异常状态。FLEN=32表示F单精度浮点扩展,大多数浮点指令对浮点寄存器中的值进行操作。浮点加载…...

安卓VirtualDisplay虚拟屏幕如何实现没有内容显示mirror内容(aosp14版本)

背景&#xff1a; 上一篇blog已经对mirror模式显示镜像屏幕内容进行了详细讲解&#xff1a; 安卓VirtualDisplay虚拟屏幕如何实现没有内容显示mirror屏幕内容 不过这个分析版本是基于aosp13&#xff0c;在这个发布后&#xff0c;有学员在aosp14上进行验证&#xff0c;发现还…...

YOLOv10在RK3588上的测试(进行中...)

1.代码源 国内镜像站在gitcode。这个镜像站也基本上包含了github上常用项目的镜像。然后它的主发布源在这里&#xff1a; GitCode - 全球开发者的开源社区,开源代码托管平台 yolov10是清华主导做的... 然后&#xff0c;在维护列表里看到了这个&#xff1a; 2024年05月31日&am…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...