LeetCode 1.两数之和(HashMap.containsKey()、.get、.put操作)

server/2024/9/24 13:00:13/

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

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

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

示例 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]

提示:

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

进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?

解题思路:

过程一

过程二

代码如下:

 

class Solution {public int[] twoSum(int[] nums, int target) {int[] res = new int[2];HashMap<Integer, Integer> map = new HashMap<>();for(int i = 0; i < nums.length; i++) {if(map.containsKey(target - nums[i])) {res[0] = i;res[1] = map.get(target - nums[i]);break;}map.put(nums[i], i); // 如果没有找到匹配对,就把访问过的元素和下标加入到map中}return res;}
}


http://www.ppmy.cn/server/9770.html

相关文章

全网短剧搜索源码+短剧API接口 短剧下载 热门短剧 全开源可二开

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 pc端h5手机端全网短剧搜索前端源码分享 内含7000短剧资源(不支持在线播放&#xff09; 搜索API接口&#xff1a;文件内查看 全部短剧API接口&#xff1a;文件内查看 每日更新API接…

第十三章 使用深度和法线纹理

获取深度和法线纹理 背后的原理 深度纹理是一张渲染纹理,它里面存储的像素值不是颜色,而是一个高精度的深度值。深度值范围是[0, 1],非线性分布的。这些深度值来自于顶点变换后得到的归一化的设备坐标(NDC)。一个模型想要被绘制在屏幕上,需要把它的顶点从模型空间变换到齐…

windows 11 打包python镜像相关操作

第一步&#xff1a;Docker下载 首先先到Docker官网下载最新官方Docker for Windows链接&#xff0c;点击下载之后进行安装&#xff0c;安装好之后在cmd执行 wsl --update。 第二步&#xff1a;在电脑上打开“控制面板”->“程序”-> “启动或关闭Windows功能”。 有的…

常见面试算法题-数组二叉数

■ 题目描述 【数组二叉树】 二叉树也可以用数组来存储&#xff0c;给定一个数组&#xff0c;树的根节点的值存储在下标1&#xff0c;对于存储在下标N的节点&#xff0c;它的左子节点和右子节点分别存储在下标2*N和2*N1&#xff0c;并且我们用值-1代表一个节点为空。 给定一…

【RT-Thread应用笔记】FRDM-MCXN947上的RW007实践——WiFi延迟和带宽测试

【RT-Thread应用笔记】FRDM-MCXN947上的RW007实践——WiFi延迟和带宽测试 一、背景介绍1.1 RW007模组简介1.2 Arduino接口简介1.3 RW007软件包简介1.4 RT-Thread env工具简介 二、创建工程2.1 新建工程2.2 添加rw007软件包2.3 打开RW007配置项2.4 启用pin驱动2.5 禁用rw007的ST…

python-基础(5)-字典

python专栏地址 上一篇: python-基础(4)-list 字典 本节主要介绍 字典初始字典的操作 一、字典简单了解 所谓字典&#xff0c;就像我们常用的字典一样&#xff0c;输入一个页码&#xff0c;就到达一页。它有两种方式创建&#xff1a; 直接写name{}namedict() gufeng {&quo…

java学习笔记4

7. 二维数组 7.1 定义 二维数组及就是数组的嵌套,数组的元素还是数组; 二维数组是一个 元素为一维数组 的一维数组; 语法上Java支持多维数组,但从内存分配原理的角度看,Java中只有一维数组,没有多维数组; 7.2 二维数组的初始化和赋值 7.2.1 长度已知 数据类型[][] 数…

CSS 命名规范 - BEM

CSS 命名规范 - BEM 规范化命名 CSS 的选择器按照规范命名的优点&#xff1a; 提高代码的 可读性 和 可维护性提高 可重用性可以有效地避免组件或模块间样式的相互污染&#xff0c;减少嵌套层级 BEM 格式 [prefix]-[block]__[element]--[modifier]Prefix。全局前缀&#x…