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)
}
};