[算法刷题积累] 两数之和以及进阶引用
两数之和很经典,通常对于首先想到的就是暴力的求解,当然这没有问题,但是我们如果想要追求更优秀算法,就需要去实现更加简便的复杂度。
这里就要提到我们的哈希表法: 我们可以使用unordered_map去实现,也可以根据题目,用数组去模拟哈希表,两种方式选择合适的就好。
哈希表通过记录来某一键值是否存在,如果存在则可进一步访问pair中的second类型变量,通过这一系列的组合,就可以用哈希表简化大部分问题。
如本道题,二数之和,就是找寻数组中两个和为target的数,并且返回其下标。
那么数据的值就key,对应的下标就是value。而且题目有要求:你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现,所以我们要先去寻找hash表中键值 target-nums[i]是否存在,存在就说明再nums[i]之前,就有与nums[i]和为target的值出现,所以返回 键值对应的Value(下标)和当前的i即可。 如果没有,则将当前的key(数据的值)添加并且记录其对应的下标。
、变式应用:
- 此道题目,同样很容易想到暴力的解法,但是对于数据庞大的此道题会出现超时的结果。所以我们就要去优化算法结构,正好此题目与两个数据之间的关系有关的,所以很容易想到两数之和的哈希表解法。
- 题目不再是返回满足条件的下标组合,而是输出满足条件下标的对数。所以这里的key键值和value的意义也要对应修改:key指代出现的数据对24取模后的值,value代表数据对24取模之后出现key的次数。
- 举例比如:23出现,对24取模操作,得到23,那么hash[23]++(hash[23]的值代表出现次数)。
- 所以对于两个数有必须要有关系: ( X + Y )%24 == 0
所以就有下面的关系:
最后得到关系: x%24 = (24-y%24)%24
利用这个关系式子,可以找到能与当前数据匹配之后能被24整除的数据对的个数。
具体操作:
1.寻找与当前数据满足条件的数据是否存在,如果存在,则统计次数。
2.如果没有,则将当前数据与24的取模作为key键值取更新value的值。(第一步和第二步一定不能反,如果倒过来,就不满足题目 i < j )
遍历一次整个数组,就可以统计出所有的对数即可。
相关文章:
![](https://img-blog.csdnimg.cn/direct/f1f5d46142224eaf8e55d574f365b472.png)
[算法刷题积累] 两数之和以及进阶引用
两数之和很经典,通常对于首先想到的就是暴力的求解,当然这没有问题,但是我们如果想要追求更优秀算法,就需要去实现更加简便的复杂度。 这里就要提到我们的哈希表法: 我们可以使用unordered_map去实现,也可以根据题目&a…...
![](https://www.ngui.cc/images/no-images.jpg)
pytest+parametrize+yaml实例
# 一、yaml格式 # # yaml是一种数据类型,可以和json之间灵活的切换,支持注释、换行、字符串等。可以用于配置文件或编写测试用例。 # # 数据结构:一般是键值对的方式出现。注意编写时值前面必须有空格,键:(…...
![](https://img-blog.csdnimg.cn/direct/daa8e360c0104cfb86676dee3adfe541.png)
【HarmonyOS】鸿蒙应用模块化实现
【HarmonyOS】鸿蒙应用模块化实现 一、Module的概念 Module是HarmonyOS应用的基本功能单元,包含了源代码、资源文件、第三方库及应用清单文件,每一个Module都可以独立进行编译和运行。一个HarmonyOS应用通常会包含一个或多个Module,因此&am…...
![](https://img-blog.csdnimg.cn/img_convert/fa9805bd40283e647476fbeaee8f4eed.png)
深入Node.js:实现网易云音乐数据自动化抓取
随着互联网技术的飞速发展,数据已成为企业和个人获取信息、洞察市场趋势的重要资源。音频数据,尤其是来自流行音乐平台如网易云音乐的数据,因其丰富的用户交互和内容多样性,成为研究用户行为和市场动态的宝贵资料。本文将深入探讨…...
![](https://img-blog.csdnimg.cn/img_convert/c0ae811469a3ca6686e27ab4e2f18db7.png)
【Docker实战】jenkins卡在编译Dockerfile的问题
我们的项目是标准的CI/CD流程,也即是GitlabJenkinsHarborDocker的容器自动化部署。 经历了上上周的docker灾难,上周的服务器磁盘空间灾难,这次又发生了jenkins卡住的灾难。 当然,这些灾难有一定的连锁反应,是先发生的d…...
![](https://www.ngui.cc/images/no-images.jpg)
rust 多线程分发数据
use std::sync::{Arc, Mutex}; use std::collections::VecDeque; use std::thread::{self, sleep}; use rand::Rng; use std::time::Duration;fn main() {let list: Arc<Mutex<VecDeque<String>>> Arc::new(Mutex::new(VecDeque::new()));// 创建修改线程le…...
![](https://img-blog.csdnimg.cn/direct/c6b994e77b0a46fa844fa1aefa155544.jpeg)
CentOS 7x 使用Docker 安装oracle11g完整方法
1.安装docker-ce 安装依赖的软件包 yum install -y yum-utils device-mapper-persistent-data lvm2添加Docker的阿里云yum源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo更新软件包索引 yum makecache fast查看docker…...
![](https://img-blog.csdnimg.cn/direct/f869d8447ecf42d384b2b7f8660ff819.png)
DDP算法之线性化和二次近似(Linearization and Quadratic Approximation)
DDP算法线性化和二次近似 在DDP算法中,第三步是线性化系统动力学方程和二次近似代价函数。这一步是关键,它使得DDP能够递归地处理非线性最优控制问题。通过线性化和二次近似,我们将复杂的非线性问题转换为一系列简单的线性二次问题,逐步逼近最优解。通过这些线性化和二次近…...
![](https://www.ngui.cc/images/no-images.jpg)
Shellcode详解
Shellcode详解 一、Shellcode的特点二、Shellcode的类型三、Shellcode的工作原理四、防御措施五、常见的PHP Web Shell示例5.1 简单的命令执行5.2 更复杂的Web Shell5.3 防御措施5.4 实际案例 Shellcode是一种小巧、紧凑的机器代码,通常用于利用软件漏洞或注入攻击中…...
![](https://www.ngui.cc/images/no-images.jpg)
sherpa-onnx说话人识别+语音识别自动开启(VAD)+语音识别Python API
专栏总目录 获取该开源项目的渠道,是我在b站上,看到了由csukuangfj制作的一套语音识别视频。以下地址均为csukuangfj在视频中提供,感谢分享! 新一代 Kaldi: 说话人识别+VAD+语音识别之 Python API_哔哩哔哩_bilibili 开源项目地址:GitHub - k2-fsa/sherpa-onnx: Speech-t…...
![](https://img-blog.csdnimg.cn/direct/a810966ad35b4e1fa6f98f7c2303ef36.png)
提取人脸——OpenCV
提取人脸 导入所需的库创建窗口显示原始图片显示检测到的人脸创建全局变量定义字体对象定义一个函数select_image定义了extract_faces函数设置按钮运行GUI主循环运行显示 导入所需的库 tkinter:用于创建图形用户界面。 filedialog:用于打开文件对话框。 …...
![](https://img-blog.csdnimg.cn/direct/b0758fbb2c88464284721f6b502232dd.png)
python数据可视化:在图形中添加注释matplotlib.pyplot.annotate()
【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 python数据可视化: 在图形中添加注释 matplotlib.pyplot.annotate() 请问关于以下代码表述正确的选项是? import matplotlib.pyplot as plt x [1, 2, 3, 4, 5] y […...
![](https://img-blog.csdnimg.cn/direct/cdd68f942e9d4b6ab17a08eefa502ecf.png)
IDEA debug 调试Evaluate Expression应用
链接: https://blog.csdn.net/xfx_1994/article/details/104136849?utm_mediumdistribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_v2~rank_aggregation-2-104136849.pc_agg_rank_aggregation&utm_termidea%E4%B8%ADevaluate&s…...
![](https://img-blog.csdnimg.cn/direct/7ff3bbf9bd044f268e48ad4a4a513409.png#pic_center)
04-echarts-立体柱状图扩展
柱状图扩展 一、前言二、思路1、新增面①、在drawShape方法中,新增一个实际左侧面,②、 在drawShape方法中,新增一个实际右侧面,③ 绘制 2、新增series对象① 添加实际值的左侧面和右侧面 三、效果图 一、前言 事情是这样子的&am…...
![](https://www.ngui.cc/images/no-images.jpg)
HTML5 Web Workers: 异步编程的强大力量
在现代Web开发中,随着应用程序变得越来越复杂,用户界面的流畅性和响应性成为了决定用户体验好坏的关键因素之一。传统的JavaScript执行模型中,所有脚本都在同一个线程上运行,这意味着复杂的计算任务会阻塞UI更新,导致页…...
![](https://img-blog.csdnimg.cn/direct/b93b010077b746699a3fe1e174ca374e.png)
Flutter第十二弹 Flutter多平台运行
目标: 1.在多平台调试启动Flutter程序运行 一、安卓模拟器 1.1 检查当前Flutter适配的版本 flutter doctor提供了Flutter诊断。 $ flutter doctor --verbose /Users/zhouronghua/IDES/flutter/bin/flutter doctor --verbose [✓] Flutter (Channel master, 2.1…...
![](https://img-blog.csdnimg.cn/direct/c30127575d774812a280e2264289bd0f.png)
30天学会QT---------------大项目之在线考试系统
前段时间真的很忙很忙,忙完这段时间,总算是有空来写文章了,开始写的时候我就以为能够有时间准备和写这个,但是发现有时候忙着忙着就忘记了,没有办法来写项目,真的是非常尴尬。 现在有时间了,就有充分的时间来写了。 为了避免笔记断更,我决定先存稿来写。 1、如何规划项…...
![](https://www.ngui.cc/images/no-images.jpg)
搜维尔科技:力反馈主手—手术机器人应用〈腔镜手术机器人平台—进入手术室动物实验〉
力反馈主手—手术机器人应用〈腔镜手术机器人平台—进入手术室动物实验〉 搜维尔科技:力反馈主手—手术机器人应用〈腔镜手术机器人平台—进入手术室动物实验〉...
![](https://img-blog.csdnimg.cn/direct/8f9a6bbdb7b3442da09b0deecb8c9156.png)
缓存技术实战[一文讲透!](Redis、Ecache等常用缓存原理介绍及实战)
目录 文章目录 目录缓存简介工作原理缓存分类1.按照技术层次分类2.按照应用场景分类3.按照缓存策略分类 应用场景1.硬件缓存2.软件缓存数据库缓存Web开发应用层缓存 3.分布式缓存4.微服务架构5.移动端应用6.大数据处理7.游戏开发 缓存优点缓存带来的问题 常见常用Java缓存技术1…...
![](https://img-blog.csdnimg.cn/direct/78ec0e0d00ae471783d062342ab71cce.png)
初识es(elasticsearch)
初识elasticsearch 什么是elasticsearch?: 一个开源的分部署搜索引擎、可以用来实现搜索、日志统计、分析、系统监控等功能。 什么是文档和词条? 每一条数据就是一个文档对文档中的内容进行分词,得到的词语就是词条 什么是正向…...
![](https://img-blog.csdnimg.cn/direct/bc9e9152b724406e9840280d18f1a69f.png)
AI在线免费视频工具2:视频配声音
1、视频配声音 https://deepmind.google/discover/blog/generating-audio-for-video/ https://www.videotosoundeffects.com/ (免费在线使用)...
![](https://img-home.csdnimg.cn/images/20220518054835.png)
Kafka 如何保证消息顺序及其实现示例
Kafka 如何保证消息顺序及其实现示例 Kafka 保证消息顺序的机制主要依赖于分区(Partition)的概念。在 Kafka 中,消息的顺序保证是以分区为单位的。下面是 Kafka 如何保证消息顺序的详细解释: ⭕分区内消息顺序 顺序写入&#…...
![](https://img-blog.csdnimg.cn/direct/54a23977a5d140e49accdda8ce37964a.png)
内存分配器性能优化
背景 在之前我们提到采用自定义的内存分配器来解决防止频繁 make 导致的 gc 问题。gc 问题本质上是 CPU 消耗,而内存分配器本身如果产生了大量的 CPU 消耗那就得不偿失。经过测试初代内存分配器实现过于简单,产生了很多 CPU 消耗,因此必须优…...
![](https://img-blog.csdnimg.cn/direct/e4e5737f66b842fca7ec8cab6b92d79c.webp)
《OKR工作法》读书笔记
花了两个晚上的时间看完了《OKR工作法》这本书,谈不上有什么感想,因为工作后,其实就一直在用这种方法,所谓当局者迷嘛,习以为常也就谈不上多少新的启发。所以,这篇文章纯粹是一篇读书笔记,把我认…...
![](https://img-blog.csdnimg.cn/direct/3ede99f1effb47ee983d79f4b7b566a6.png#pic_center)
2025年计算机毕业设计题目参考-简单容易
2025年最新计算机毕业设计题目参考-第二批 以下可以参考 企业员工薪酬关系系统的设计 基于SpringBoot在线远程考试系统 SpringBootVue的乡政府管理系统 springboot青年公寓服务平台 springboot大学生就业需求分析系统 基于Spring Boot的疗养院管理系统 基于SpringBoot的房屋交…...
![](https://www.ngui.cc/images/no-images.jpg)
3.8. 马氏链-一般状态空间的马氏链(Harris链)
一般状态空间的马氏链-Harris链 1. Harris链及示例1.1. Harris链1.2. 示例2. 修改的Harris链( X ˉ n \bar{X}_{n} Xˉn)2.1. 修改的Harris链( X ˉ n \bar{X}_{n} Xˉn)2.2. 三个引理(可以从 X ˉ n \bar{X}_{n} Xˉn的结论推出 X n X_{n} Xn的结论)3. 推广相关…...
![](https://img-blog.csdnimg.cn/img_convert/a8bffca4eeef1f926d8dea662aede0d9.png)
Python8 使用结巴(jieba)分词并展示词云
Python的结巴(jieba)库是一个中文分词工具,主要用于对中文文本进行分词处理。它可以将输入的中文文本切分成一个个独立的词语,为后续的文本处理、分析、挖掘等任务提供基础支持。结巴库具有以下功能和特点: 中文分词&a…...
![](https://img-blog.csdnimg.cn/direct/54ace8fa3b4d46198eac82cbad633911.png)
python中scrapy
安装环境 pip install scrapy 发现Twisted版本不匹配 卸载pip uninstall Twisted 安装 pip install Twisted22.10.0 新建scrapy项目 scrapy startproject 项目名 注意:项目名称不允许使用数字开头,也不能包含中文 eg: scrapy startproject scrapy_baidu_…...
![](https://www.ngui.cc/images/no-images.jpg)
基础语法总结 —— Python篇
1、环境搭建 建议直接安装 PyCharm (Community Edition) Python3.x版本,前者是一个很好用的编译器,后者是Python的运行环境之类的,安装参考https://mp.csdn.net/mp_blog/creation/editor/139511640 2、标识符 第一个…...
![](https://img-blog.csdnimg.cn/direct/602803807aaf4c4191ce44ceb8aa3395.png)
数据库系统概述选择简答概念复习
目录 一、组成数据库的三要素 二、关系数据库特点 三、三级模式、二级映像 四、视图和审计提供的安全性 审计(Auditing) 视图(Views) 五、grant、revoke GRANT REVOKE 六、三种完整性 实体完整性 参照完整性 自定义完整性 七、事务的特性ACDI 原子性(Atomicity)…...
![](/images/no-images.jpg)
焦作企业网站建设/营业推广方案
给下面一个这样的字符串去处理让人好头大,在java里的处理貌似很简单,ArrayList<String>貌似就解决的差不多了 NSString *str”0000##17#4#32?????????????0022010-03-16 11:25:24.834259*31??????????????0022009-12-15 15:51:57.203038*30?…...
![](/images/no-images.jpg)
厚街做网站/挖掘关键词的工具
PyCharm Community 说到PyCharm Community,我们就会想到它是一款免费的开源Python代码编辑器,不过这也是事实啦。PyCharm Community为我们提供了轻量级的IDE开发,并集成了智能编辑器、检查、重构、调试器、VCS等。PyCharm Community拥有可定制…...
![](https://img-blog.csdnimg.cn/img_convert/0818b9ca8b590ca3270a3433284dd417.png)
独立网站建设教程视频/竞价推广是做什么的
一、基本操作方法本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况1、apahce启动命令:推荐/usr/local/apache2/bin/apachectl start apaceh启动2、apache停止命令/usr/local/apache2/bin/apachectl stop 停止3、apache重新启动命…...
![](https://img-blog.csdnimg.cn/img_convert/b4a0c96d977404f71e7603b7caa1a0c4.png)
做网站怎么删除图片/短链接
如果想在其他标准效果之前渲染平衡、静音或音量时,可使用 Pr 效果面板音频效果组里面的平衡、静音及音量等控件。平衡Balance平衡效果为剪辑创建平衡包络。只能用于立体声音频。静音Mute静音效果为剪辑创建静音包络。音量Volume音量效果为剪辑创建包络,以…...
![](/images/no-images.jpg)
学做披萨的网站/seo推广培训学费
# 1.编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件), # 要求登录成功一次,后续的函数都无需再输入用户名和密码 FLAG False def login(func):def inner(*args,**kwargs):global FLAG登录程序if FLAG…...
![](https://img-blog.csdnimg.cn/20210822214641970.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NuZHMxMjMzMjE=,size_16,color_FFFFFF,t_70)
wordpress首页多图片/女教师网课入侵录屏冫
1.插件介绍 IDEA Mind Map插件。 思维导图编辑器是改编自(SciaReto 编辑器)的一部分。思维导图以 Markdown 兼容格式 (MMD) 保存为纯文本文件。这是在项目文件之间保留语义信息、保留链接甚至敏感信息(在由 AES-256 加密的受密码保护的笔记…...