您的位置:首页 > Web前端 > JavaScript

[leetcode]1. Two Sum -- JavaScript 代码

2016-09-04 15:23 381 查看
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
var len = nums.length;
var map = {};
for(var i=0;i<len;i++){
cur = nums[i];
if(map[cur]){
map[cur].push(i);
}else{
map[cur] = [i];
}
}
for(var key in map){
if(map[target-key]){
if(target-key == key){
return [map[key][0],map[key][1]];
}
return [map[key][0],map[target-key][0]];
}
}
};


一开始采用的是循环数组中的每个元素,然后用indexOf方法去查找target - nums[i]元素是否存在,这样代码很短,但是效率不高,之后换成了使用map,这样代码多出了好几行,但是效率大大提高了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode javascript