摘要:两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。实例给定因为所以返回答案参考执行
LeetCode1.两数之和JavaScript
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
实例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
答案参考
/** * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = function(nums, target) { var arr = []; for(var i = 0; i < nums.length-1; i++) { for(var j = i+1; j< nums.length; j++) { if(nums[i]+nums[j]==target) { arr.push(i); arr.push(j); } } } return arr }; // 执行192ms
/** * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = function(nums, target) { var arr = {}; for(var i = 0; i< nums.length; i++) { if(typeof(arr[nums[i]])!=="undefined") { return [arr[nums[i]],i]; } arr[target-nums[i]]=i; } }; // 78ms
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/101104.html
摘要:题目描述两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例给定因为所以返回思路双重循环,遍历数组实现 题目描述 两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11, 15],...
摘要:步骤遍历数组数据,将根据下标和元素值存放到散列表中。目标值减去数组元素差值并在散列表中查找。测试法三一遍哈希表算法思路遍历目标值减去数组元素的差值同时判断该值在散列表中是否存在差值,如果存在,则返回否则将数据加入到散列表中。 Time:2019/4/1Title:Two SumDifficulty: simpleAuthor:小鹿 题目一:Two Sum Given an array ...
摘要:给定表,存在函数,对任意给定的关键字值,代入函数后若能得到包含该关键字的记录在表中的地址,则称表为哈希表,函数为哈希函数。而中的对象就是基于哈希表结构,所以我们构造一个对象即可,是当前遍历到的值,是其与目标值的差。 大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式、调兼容就够掉头发的了,哪还有多余的头发再去折腾。 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,...
摘要:题意给定一个整数数组和一个目标值,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。也就是说,字典里记录的是每个数据希望找到的另一半的值的大小。返回这两个下标就行,如果没有存在于字典里,那么继续存入字典。 showImg(https://segmentfault.com/img/bVbvgPA); 题意: 给定一个整数数组 nums 和一个目标值 target,请你在该数...
阅读 1617·2019-08-30 15:54
阅读 2359·2019-08-30 15:52
阅读 1991·2019-08-29 15:33
阅读 3026·2019-08-28 17:56
阅读 3216·2019-08-26 13:54
阅读 1659·2019-08-26 12:16
阅读 2432·2019-08-26 11:51
阅读 1616·2019-08-26 10:26