【算法Hot100系列】两数之和

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 一.题目描述
      • 1.题目信息
      • 2.题目地址
      • 3.示例
      • 4.提示
    • 二.题解
      • 1.hash 表
      • 2.解题思路
      • 3.关键点
    • 三.自我分析
      • 1.解题思路
      • 2.思考链路

一.题目描述

1.题目信息

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

2.题目地址

题目地址

3.示例

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

示例 2:

输入:nums = [3,2,4], target = 6
输出:[1,2]

示例 3:

输入:nums = [3,3], target = 6
输出:[0,1]

4.提示

提示:

  • 2 <= nums.length <= 104
  • -109 <= nums[i] <= 109
  • -109 <= target <= 109
  • 只会存在一个有效答案

二.题解

1.hash 表

public int[] twoSum(int[] nums, int target) {//用hash表HashMap<Integer,Integer> map=new HashMap<>();for(int i=0;i<nums.length;i++){int num=nums[i];if(map.containsKey(target-num)){return new int[]{map.get(target-num),i};}else{map.put(num,i);}}return null;
}

2.解题思路

  • 要求 2 个数的索引
  • 可以把其中一个放入到 hash 表,去找剩余的值
  • 如果剩余的值是之前插入的,那说明这 2 个数存在,直接返回

3.关键点

  1. 使用 hash 表
  2. 用值当 key,索引当 value
  3. 注意 containsKey 关键字的写法

三.自我分析

1.解题思路

if 有思路开写
else去看相关标签,确定具体解题方法if 有思路开写else看提示信息if 有思路开写else看答案

2.思考链路

  • 没有思路,没有思路的时候,一定需要记住的是题型
  • 多做,多思考,多总结
  • 形成自己的肌肉记忆
  • 多多调试

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/212461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【rabbitMQ】模拟work queue,实现单个队列绑定多个消费者

上一篇&#xff1a; springboot整合rabbitMQ模拟简单收发消息 https://blog.csdn.net/m0_67930426/article/details/134904766?spm1001.2014.3001.5502 在这篇文章的基础上进行操作 基本思路&#xff1a; 1.在rabbitMQ控制台创建一个新的队列 2.在publisher服务中定义一个…

MySQL中的数据类型

MySQL中的数据类型 大家好&#xff0c;我是微赚淘客系统的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨MySQL中的数据类型&#xff0c;这是数据库设计中至关重要的一部分。数据库作为程序的底层支持&#xff0c;数据类型的选择…

[python]利用whl轮子文件python3.12安装talib

ta-lib目前很多人使用&#xff0c;网上也有很多人下载whl文件直接pip安装即可&#xff0c;但是最新版本3.12没有出来&#xff0c;因此本人独家制作python 3.12版本whl文件&#xff0c;从源码开始编译生成。TA-Lib-0.4.28-cp312-cp312-win-amd64.whl &#xff0c;注意这个whl文件…

Java 多线程下的单例模式

单例对象&#xff08;Singleton&#xff09;是一种常用的设计模式。在Java应用中&#xff0c;单例对象能保证在一个JVM中&#xff0c;该对象只有一个实例存在。正是由于这个特 点&#xff0c;单例对象通常作为程序中的存放配置信息的载体&#xff0c;因为它能保证其他对象读到一…

JWT的原理

在谈及jwt原理前,我们其实对jwt并不陌生,对于有经验的码农,大都听过或者实践过,对于一些初学者,凡是谈及安全方面的问题,总是觉得很复杂,感觉不是自己能搞得懂得,但其实无非也是加密解密的过程,不要想的太复杂,我们先说一说JWT在生产上的应用 JWT在生产上的应用 传递用户身份信…

Android系统中使用Cunit测试C/C++接口

Android系统中使用Cunit测试C/C接口 Cunit是C/C语言的单元测试框架&#xff0c;但常用于Windows和Linux开发中。 Android系统中经常有jni、so库、hal service等都是C/C实现&#xff0c;本文讲解如何将Cunit嵌入Android中&#xff0c;用于测试一些C/C api。 Cunit简介 Cunit是很…

全面解析“由于找不到hid.dll,无法继续执行代码”的4个解决方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“找不到hid.dll”。这个问题通常出现在尝试运行某个程序或访问某个设备时。那么&#xff0c;当我们遇到这个问题时&#xff0c;应该如何解决呢&#xff1f;本文将详细介绍找不到hid.dll的解…

高校需要哪些大数据实训平台?

当前&#xff0c;数据已成为重要的生产要素&#xff0c;大数据产业作为以数据生成、采集、存储、加工、分析、服务为主的战略性新兴产业&#xff0c;是激活数据要素潜能的关键支撑&#xff0c;是加快经济社会发展质量变革、效率变革、动力变革的重要引擎。 泰迪大数据实验…

Angular 14带来了类型化表单和独立组件

独立组件通过减少对ngmodule的需求&#xff0c;有望简化Angular应用的开发。 介绍 Angular 14是谷歌开发的、基于typescript的web应用框架的最新版本&#xff0c;它以输入表单和独立组件的开发者预览版为特色。 其特性包括&#xff1a; 一个基于组件的框架&#xff0c;用于构…

Fortran读取netcdf文件/WRF中的文件读取

一直很好奇WRF到底如何通过netcdf库读取netcdf文件&#xff0c;正巧有个机会&#xff0c;试了下fortran读取nc文件&#xff0c;总结一下。 netcdf库 Fortran读取nc文件需要依赖netcdf外部库。安装该库以后&#xff0c;会有专门写给ffortran函数声明的头文件&#xff1a;netcd…

数据类型·

定义 数据类型是指在编程语言中&#xff0c;能够表示不同种类的数据值并对其进行操作的集合。在不同的编程语言中&#xff0c;数据类型可能有所不同&#xff0c;但通常包括基本数据类型和复合数据类型两种。 基本数据类型通常包括整数、浮点数、布尔值、字符等。这些类型的数…

231210 刷题日报

单调栈&#xff1a; 为啥需要单调栈&#xff1f;因为栈的后入先出特性方便从栈顶删除刚入栈的元素 496. 下一个更大元素 I 739. 每日温度 单调对列&#xff1a; 为啥要用单调对列&#xff1f;因为像滑动窗口这种题目&#xff0c;窗口两端都需要插入和删除&#xff0c;所以需…

Python满屏飘字表白代码

​ 目录 系列文章 写在前面 Turtle入门 满屏飘字 写在后面 系列文章 序号文章目录直达链接表白系列1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心https://…

CF1898B Milena and Admirer(贪心)

题目链接 题目大意 有一个长度为 n 的数组 做操作使这个数组不递减&#xff1a; 把一个数分成两个数&#xff0c;例如&#xff1a;x 分为 a 和 b&#xff0c; x a b 求最小操作次数 思路 见注释 代码 #include<bits/stdc.h> #define int long long using names…

Shutter的安装及使用

概要&#xff1a;本篇主要讲述截图软件Shutter的安装和使用&#xff0c;操作系统是Ubuntu22.04 一、安装 sudo apt install shutter 二、区域截图 1、打开Shutter&#xff0c;点击Selection 2、提示信息 3、框选矩形区域 按住鼠标左键&#xff0c;拖动鼠标&#xff0c;松…

IT行业最被低估的六项技术,再加上一项尚未消亡的技术

2023年&#xff0c;生成式人工智能——更具体地说是ChatGPT——吸引了业界的广泛关注&#xff0c;深得董事会、首席执行官和其他高管的一致赞赏&#xff08;也不乏害怕情绪&#xff09;。当然&#xff0c;他们的热情是有道理的&#xff0c;多项研究发现&#xff0c;人工智能正在…

Electron[4] Electron最简单的打包实践

1 背景 前面三篇已经完成通过Electron搭建的最简单的HelloWorld应用了&#xff0c;虽然这个应用还没添加任何实质的功能&#xff0c;但是用来作为打包的案例&#xff0c;足矣。下面再分享下通过Electron-forge来将应用打包成安装包。 2 依赖 在Electron[2] Electron使用准备…

[山东大学操作系统课程设计]实验四+实验五

0.写在前面&#xff1a; 为什么这次把两个实验放在一起写了&#xff0c;因为实验五的要求就是在实验四的基础上完成实现的。但是我得实现说明&#xff0c;我的实验四虽然完成了要求&#xff0c;但是无法在我自己的实验四的基础上完成实验五&#xff0c;这是一个很大的问题&…

软考考前背过-软件设计师

今年5月份开始准备考&#xff0c;没想到会突然改革&#xff0c;还好刷题刷的多&#xff0c;也过了。 跟着B站up主的视频学的&#xff0c;都学了一遍之后才开始刷题&#xff0c;平时要上班&#xff0c;也就下班和周末能学&#xff0c;时间可能拉的比较长&#xff0c;学完前面的内…

使用linux CentOS本地部署SQL Server数据库

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;数据结构、Cpolar杂谈 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. 安装sql server二. 局域网测试连接三. 安装cpolar内网穿透四. 将sqlserver映射…