问题描述:

给定一个整数数列,找出其中和为特定值的那两个数。

你可以假设每个输入都只会有一种答案,同样的元素不能被重用。

示例:

给定 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 a=[];
for(var i=0;i<nums.length-1;i++){
for(var j=i+1;j<nums.length;j++){
if(nums[i]+nums[j]==target){
a.push(i);
a.push(j);
}
}
}
return a;
};

优秀答案:

参考 http://www.cnblogs.com/kiznaiver1998/p/8605809.html

解题思路:构造了arr{ key:value} 对象。将target-nums[i] 差值放在arr{ }对象中,并存储其位置i。然后每次就在arr{ }对象中找有没有对应的数即可。

function twoSum(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;
}
}

最新文章

  1. jquery easyui 1.4.1 API( CHM版)
  2. 虚拟机ping不通主机,但是主机可以ping通虚拟机
  3. ios 怎么解决Could not find Developer Disk Image
  4. oracle分析函数
  5. Leetcode 102 Binary Tree Level Order Traversal 二叉树+BFS
  6. Java 图片处理——如何生成高清晰度而占有磁盘小的缩略图
  7. HTML-Audio/Video
  8. EditText使用详解-包含很多教程上看不到的功能演示
  9. bookhub -- 扁平化本地电子书管理与分享工具
  10. Oracle中用一张表的字段更新另一张表的字段
  11. MySQL源码之两阶段提交
  12. asp.net 服务器端缓存与客户端缓存 [转]
  13. SpringMVC第六篇【校验、统一处理异常】
  14. 使用VUE模仿BOSS直聘APP
  15. 一个小时学会Maven
  16. 【BZOJ3307】雨天的尾巴
  17. tcp_协议基础
  18. Google SRE 读书笔记 扒一扒SRE用的那些工具
  19. RHEL7 MariaDB测试
  20. 20155303 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

热门文章

  1. springcloud初次zuul超时报错com.netflix.zuul.exception.ZuulException:Forwarding error
  2. 「 从0到1学习微服务SpringCloud 」09 补充篇-maven父子模块项目
  3. emeditor安装及插件信息
  4. 玩转Django2.0---Django笔记建站基础十三(第三方功能应用)
  5. [HAOI2015]树上操作(树链剖分)
  6. openresty http
  7. sql 映射文件
  8. Arduino系列之pwm控制LED灯(呼吸灯)
  9. 今天你上班了吗?来聊聊一个隐蔽了 5 年的BUG!
  10. kubernetes容器端口设置的坑