leetcode热题100道——两数之和

news/2025/3/21 23:19:48/

给定一个整数数组 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]

Java解答(哈希法)

java">class Solution {public int[] twoSum(int[] nums, int target) {int length = nums.length;HashMap<Integer,Integer> map = new HashMap<>();for(int i = 0;i < length;i++){if(map.containsKey(target - nums[i])){return new int[]{i,map.get(target - nums[i])};}map.put(nums[i],i);}return new int[0];}
}

结果:

 

js解答

方法一:哈希法

javascript">var twoSum = function (nums, target) {//使用map记录元素的值和索引var map = new Map();for (let i = 0;i < nums.length;i++) {if (map.has(target - nums[i])) {return [map.get(target - nums[i]), i]} else {map.set(nums[i], i)}}return []
};

结果:

 方法二:暴力法

javascript">var twoSum = function (nums, target) {for(let i = 0;i < nums.length;i++){const index = nums.findIndex((item, idx) => target - item == nums[i] && idx != i);if (index !== -1) {return [i, index];}}return []
};

结果:

 


http://www.ppmy.cn/news/1581002.html

相关文章

能源监控软件UI界面设计:平衡功能性与审美性的艺术

在当今社会&#xff0c;能源作为推动经济发展的重要基石&#xff0c;其高效管理和合理利用显得尤为重要。随着科技的进步&#xff0c;能源监控软件应运而生&#xff0c;成为连接能源使用者与管理者之间的桥梁。而软件的UI&#xff08;用户界面&#xff09;设计&#xff0c;作为…

Git Bisect 使用指南:高效定位引入 Bug 的提交

git bisect 是一个用来定位引入 bug 的提交的命令。通过二分查找的方式&#xff0c;它能帮助你找到哪一个提交导致了问题&#xff0c;特别是在提交历史较长的情况下非常有用。 使用步骤 初始化 bisect&#xff1a; 首先&#xff0c;使用 git bisect start 来开始查找。 标记已…

D-Wave专用量子计算机登顶Science 率先展示在真实场景中的量子优势(内附下载)

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨浪味仙 排版丨浪味仙 行业动向&#xff1a;4200字丨16分钟阅读 摘要&#xff1a;加拿大专用量子计算机公司 D-Wave 在 Science 期刊发表了论文&#xff0c;题为《Beyond-Classical Compu…

第二:go 链接mysql 数据库

mac  mysql 安装 的步骤 mysql  安装 配制&#xff1a; https://juejin.cn/post/7454870544929472550 mac brew 如何安装mysql数据库 要在Mac上使用Homebrew安装MySQL数据库&#xff0c;请按照以下步骤操作&#xff1a;步骤 1: 安装Homebrew 如果你还没有安装Homebrew&a…

Redis hyperloglog学习

背景知识 【伯努利试验】&#xff1a; 【伯努利试验】是一个概率论中的概念&#xff0c;指在相同的条件下重复进行n次独立的试验&#xff0c;每次试验只有两种可能的结果&#xff0c;且这两种结果发生的概率是固定的 抛硬币作为伯努利试验&#xff1a;在抛硬币时&#xff0c;我…

深入探究 JVM 堆的垃圾回收机制(一)— 判活

垃圾回收分为两步&#xff1a;1&#xff09;判定对象是否存活。2&#xff09;将“消亡”的对象进行内存回收。 1 判定对象存活 可达性分析算法&#xff1a;通过一系列“GC Roots”对象作为起始节点集&#xff0c;从这些节点开始&#xff0c;根据引用关系向下搜索&#xff0c;…

FPGA中级项目3——IP核之时钟管理单元

FPGA中级项目3——IP核之时钟管理单元 时钟还需要管理?什么是时钟管理单元? 我们常熟知FPGA本身有晶振单元,源源不断的提供的50Mhz的频率波。但是这样往往无法满足一些设计需求。使用Verilog代码设计倍频分频等又不可避免的出现毛刺等其他状况,且提升了代码复杂度。因此在 …

CI/CD构建与注意事项

1. CI/CD 概述 1.1 定义 CI&#xff08;Continuous Integration&#xff0c;持续集成&#xff09;&#xff1a;是一种软件开发实践&#xff0c;开发团队成员频繁地将代码集成到共享的代码仓库中。每次集成都会通过自动化的构建&#xff08;包括编译、打包等&#xff09;和测试…