您的位置:首页 > 其它

1. Two Sum

2016-03-14 20:05 302 查看

算法思路:保存到一个临时数组后,排序,然后从中间断开,一个从0开始,另一个从len/2开始判断相加后是否相等。

/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
var i,j,k,len = nums.length;
var number_tmp = nums.join(',').split(',').map(function(num){
return Number(num);
});

number_tmp.sort(function(a,b){
return  a-b;
})

for(i=0;i<len;i++){
if(number_tmp[i] == target/2){
k=i;
break;
}
if(number_tmp[i] > target/2){
k = i-1;
break;
}
}

for(i=0;i<=k;i++){

for(j=k+1;j<len;j++){
if(number_tmp[i]+number_tmp[j] == target){
if(number_tmp[i] == number_tmp[j]){
i = numbers.indexOf(numbers_tmp[i]);
j = numbers.indexOf(numbers_tmp[i])+1;
}
else{
i = numbers.indexOf(numbers_tmp[i]);
j = numbers.indexOf(numbers_tmp[j]);
}
return [Math.min(i,j),Math.max(i,j)];
}
}

}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: