1. Two Sum

来源:互联网 发布:九九乘法表java编程 编辑:程序博客网 时间:2024/05/16 08:20


算法思路:保存到一个临时数组后,排序,然后从中间断开,一个从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)];            }        }            }    };

0 0
原创粉丝点击