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

18-算法打卡-哈希表-两数之和-leetcode(1)-第十八天

1 题目地址

1. 两数之和 - 力扣(LeetCode)1. 两数之和 - 给定一个整数数组 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) 的算法吗? https://leetcode.cn/problems/two-sum/description/


2 题目说明

给定一个整数数组 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
  • 只会存在一个有效答案

3 解题思路

方式一:暴力解法,两层for循环,时间复杂度O(n^2)

方式二:采用使用哈希法
       遍历的过程中使用哈希存储已经遍历的数据,然后来询问哈希中是否存在某个数据,如果存在则拿到数据对应的索引下标,针对这种场景,可以使用Map来存储,key存元素  value存索引位置。


4 代码编写


4.1 暴力方式

class Solution {public int[] twoSum(int[] nums, int target) {for (int i=0; i<nums.length-1; i++) {for (int j=i+1; j<nums.length; j++) {// 如果两数之和等于targetif (nums[i]+nums[j]==target) {return new int[] {i, j};}}}return null;}
}


4.2 哈希法

class Solution {public int[] twoSum(int[] nums, int target) {// 存放已遍历的数据Map<Integer, Integer> tempMap = new HashMap<>();for (int i=0; i<nums.length; i++) {int need = target - nums[i];if (tempMap.containsKey(need)) {return new int[] {tempMap.get(need), i};}tempMap.put(nums[i], i);}return null;}
}

 

相关文章:

  • 从零开始学A2A一:A2A 协议的高级应用与优化
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(7):(1)ながら 一边。。一边 (2)。。。し。。。し。。 又……又……
  • SuperMap iClient3D for WebGL 如何加载WMTS服务
  • 天梯赛DFS合集
  • 网上图书销售系统 UML 状态图解析:触发器事件、动作与监视条件
  • Linux、Kylin OS挂载磁盘,开机自动加载
  • 香港服务器CPU对比:Intel E3与E5系列核心区别与使用场景
  • 珈和科技遥感赋能农业保险创新 入选省级卫星应用示范标杆
  • 前端单元测试实战:如何开始?
  • 为什么代理IP授权后仍连接失败?
  • L1-7 矩阵列平移
  • huggingface模型下载,ollama+fastapi接口
  • QML 自定义组件外观和行为
  • Cables为链上社区树立标杆:专注于实用性、用户主权与全球流动性
  • 蓝桥杯12. 日期问题
  • 13.编码器的结构
  • 深度学习-torch,全连接神经网路
  • 《实战AI智能体》——邮件转工单的AI自动化
  • 区块链如何成为智能城市的底层引擎?从数据透明到自动化治理
  • Cursor 生成java测试用例
  • 人民文学奖颁出,董宇辉获传播贡献奖
  • 金融监管总局:建立保险销售人员违法违规导致经济损失的佣金薪酬追索扣回机制
  • 全国首个医工交叉“MD+PhD”双博士培养项目在沪启动
  • 美肯塔基州长警告:关税或致美家庭年增数千美元支出
  • 西北政法大学推无手机课堂,有学生称要求全交,学校:并非强制
  • 泽连斯基称乌美矿产协议谈判相关法律事宜已基本敲定