题解 | #两数之和#

两数之和

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

  * @param numbers int整型一维数组 
  * @param target int整型 
  * @return int整型一维数组
  */
function twoSum( numbers ,  target ) {
    let map = new Map(), res = new Array(2)
    for(let i = 0 ; i < numbers.length ; i++){
        let diff = target - numbers[i]
        if(map.has(diff)){
//             注意判断顺序问题,diff已在map中存在,即diff在前
//             同时,还要注意数组下标从1开始
            res[0] = map.get(diff) + 1
            res[1] = i + 1
            break
        }else {
            map.set(numbers[i] , i)
        }
    }
    return res
}
module.exports = {
    twoSum : twoSum
};
全部评论

相关推荐

11-21 11:26
已编辑
门头沟学院 前端工程师
Apries:这个阶段来说,很厉害很厉害了,不过写的简历确实不是很行,优势删掉吧,其他的还行
点赞 评论 收藏
分享
10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务