1.两数之和

68 阅读1分钟

题目位置:leetcode.cn/problems/tw…

/**
*
*使用JavaScript语言实现
*/

第一版

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(nums, target) {
    for(var i=0;i<nums.length;i++){
        for(var j = i+1;j<nums.length;j++){
            var temp = new Array();
            if(nums[i]+nums[j] == target){
                temp[0] = i;
                temp[1] = j;
                return temp;
            }
        }
    }
};

第二版(哈希表)

var twoSum = function(nums, target) {
    let map = new Map();
    for(let i = 0, len = nums.length; i < len; i++){
        if(map.has(target - nums[i])){
            return [map.get(target - nums[i]), i];
        }else{
            map.set(nums[i], i);
        }
    }
    return [];
};