[ leetcode ] [ 1 ] 两数之和 leetcode

leetcode第1题:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍

关尔先生2021-02-01 16:50:06

两数之和


给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
你可以按任意顺序返回答案。
----------------------------------
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
----------------------------------
/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(nums, target) {
    let re=[];
    let temp =[];//目标哈希表
    try{
    nums.forEach((a,i)=>{
        let b = target - a;//和转差,目标数值
        if(temp[a]!==undefined){ //在哈希表中找到目标值
            re=[temp[a],i]
            throw Error('')
        }
        temp[b]=i;  //目标数组
    })
    }catch(e){}
    return re;
};
-----------------------------------------

重点


  • 维护一个哈希表
  • 用抛出异常来中断forEach

leetcode两数之和哈希表中断forEach

上一篇:vim 常用命令【转载】

下一篇:[ leetcode ] [ 2 ] 两数相加

本文链接: http://www.nanshanqiao.com/zz_article/78.html

暂无评论