当前位置: 首页 > Web前端 > HTML5

【leetcode系列】001-两数之和

时间:2023-04-06 00:08:25 HTML5

题目:给定一个整数数组nums和一个目标值target,请找出数组中和为目标值的两个整数,并返回它们的数组下标。您可以假设每个输入只有一个答案。但是,您不能在此数组中重复使用相同的元素。例子:给定nums=[2,7,11,15],target=9,因为nums[0]+nums[1]=2+7=9,所以返回[0,1]思路:只扫描一次数组,在扫描的时候使用一个额外的字典记录相关的数据,但是它并不记录数据本身,而是记录的目标值——当前值,我们可以称之为对象值。也就是说,字典中记录的是:每条数据要找的“另一半”值的大小。所以字典的key就是“目标值-位置的值”,字典的值就是位置的下标。然后后面再扫描,如果扫描到的值出现在这个字典中,说明这个值是之前某个位置期望值的另一半。只需返回这两个下标即可。如果字典中不存在,则继续存入字典中。JavaScript解决方案:/***@param{number[]}nums*@param{number}target*@return{number[]}*/vartwoSum=function(nums,target){for(leti=0;ii){返回[i,endIndex];}}return[]}恭喜你又掌握了一项新技能~欢迎关注公众号【前端FE】学习更多前端技能~