Open xszi opened 3 years ago
const twoSum = (nums, target) => {
let map = new Map()
for (let i = 0; i < nums.length; i) {
const k = target - nums[i]
if (map.has(k)) {
return [map.get(k), i]
}
map.set(nums[i], i)
}
return []
}
时间复杂度:O(n)
const twoSum = (nums, target) => {
nums = nums.sort((a, b) => a-b)
let left = 0; right = arr.length - 1;
while(left < right && arr[left] + arr[right] !== target) {
if (arr[left] + arr[right] < target) {
left++
} else {
right--
}
}
return left === right ? [] : [left, right]
}
时间复杂度:O(n)
给定一个整数数组 nums 和一个目标值 target ,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例:
leetcode
可结合 三数之和 一起看