1.俩数之和

70 阅读1分钟

思路

traget为匹配条件

遍历nums,挨个匹配对应的元素

字典存出每个元素的值和下标,当在字典中匹配到的时候就return

代码

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(nums, target) {
    const map = new Map()
    let res = []
   nums.forEach((item,index) => {
       let i = target - item
       //看看map里面有没有想要的值
       if(map.has(i)){
           res = [map.get(i),index]
       }
       map.set(item,index)
   })

    return res
};

复杂度

时间:O(n),1个for循环 空间:O(n),只有一个一维数组