LeetCode JavaScript 两数之和

159 阅读1分钟

leetcode算法第1天笔记

  • 两数之和
  • 两数之这个问题分两种解,一种为暴力解,一种为Hash解,其中暴力为O(n^2),Hash解为O(n)
   // hash解的思路为通过每次查询hash表,是否有符合hash表中的数字,否则直接将该数存入hash中,其值为当前的下标,键为当前的数字
   var twoSum = function(nums, target) {
    let len = nums.length 
    if (len <= 1) {
        return []
    }
    let map = new Map()
    for(var i = 0; i < len; i++) {
        if (map.has(target - nums[i])) {
            return [map.get(target - nums[i]), i]
        } 
        map.set(nums[i], i)
    }
};