摘要:题意给定一个整数数组和一个目标值,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。也就是说,字典里记录的是每个数据希望找到的另一半的值的大小。返回这两个下标就行,如果没有存在于字典里,那么继续存入字典。
题意:
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例:给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]思路:
只扫描一遍数组,使用额外的一个字典,一边扫一边记录相关的数据,不过不是记录数据本身,而是记录的目标值-当前值,我们可以称之为对象值。
也就是说,字典里记录的是:每个数据希望找到的“另一半的”值的大小。所以字典的key是“目标值-该位置的值”,字典的value是该位置的下标。
那么再往后扫描,如果扫描到的值出现在这个字典里,说明这个值是之前某个位置上期待的另一半。返回这两个下标就行,如果没有存在于字典里,那么继续存入字典。
JavaScript解法:/** * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = function(nums, target) { for(let i=0; ii){ return [i,endIndex]; } } return [] }
恭喜你,又掌握了一个新技能~
欢迎关注公众号【前端FE】
了解更多前端技巧~
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/105783.html
摘要:解法返回目录解题代码执行测试解题思路使用双重循环破解。解法返回目录解题代码执行测试知识点遍历数组,返回遍历项,返回当前索引。 Create by jsliang on 2019-05-16 22:19:13 Recently revised in 2019-05-17 14:22:40 Hello 小伙伴们,如果觉得本文还不错,记得给个 star , 小伙伴们的 star 是我持续更新的动...
摘要:给定表,存在函数,对任意给定的关键字值,代入函数后若能得到包含该关键字的记录在表中的地址,则称表为哈希表,函数为哈希函数。而中的对象就是基于哈希表结构,所以我们构造一个对象即可,是当前遍历到的值,是其与目标值的差。 大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式、调兼容就够掉头发的了,哪还有多余的头发再去折腾。 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,...
摘要:公众号爱写给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值和,其中必须小于。示例输入输出解释与之和等于目标数。 公众号: 爱写bug(ID:icodebugs) 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。...
摘要:公众号爱写给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值和,其中必须小于。示例输入输出解释与之和等于目标数。 公众号: 爱写bug(ID:icodebugs) 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。...
阅读 3390·2021-11-22 09:34
阅读 1869·2019-08-30 12:53
阅读 3462·2019-08-28 18:07
阅读 2943·2019-08-27 10:55
阅读 2929·2019-08-26 10:12
阅读 3543·2019-08-23 18:21
阅读 1305·2019-08-23 14:10
阅读 1422·2019-08-23 13:04