题解 | #两数之和#

两数之和

http://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f

/**
  * 
  * @param numbers int整型一维数组 
  * @param target int整型 
  * @return int整型一维数组
  */
function twoSum( numbers ,  target ) {
    // write code here
    const ans = new Array(2);
    let map = new Map();//借助哈希表进行存储数据
    for(let i=0;i<numbers.length;i++){
//每次往哈希表存储都判断是否有满足number1+number2=target的元素,满足则输出,,不满足继续存储到哈希表
        if(map.has(target-numbers[i])){
            ans[0] = map.get(target-numbers[i])+1;
            ans[1] = i+1;
            break;
        //注意:存储时元素为key值,对应数组中的索引值为value值
        }else{
            map.set(numbers[i],i);
        }
    }
    return ans;
}
module.exports = {
    twoSum : twoSum
};
全部评论

相关推荐

12-06 16:17
济宁学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务