方法一:
function twoSum(nums, target) {
var result = []
for (let i = 0; i < nums.length; i++) {
var remainder = target - nums[i]
var index = nums.indexOf(remainder)
if (index >= 0 && i !== index) {
result = [i, index]
break
}
}
return result
}
let nums = [2, 1, 7, 11, 3, 5, 8, 4]
console.log(twoSum(nums, 5));
方法二 : Map()
let nums = [2, 1, 7, 11, 3, 5, 8, 4]
function twoSum(nums, target) {
const map = new Map()
for (let i = 0; i < nums.length; i++) {
var remainder = target - nums[i]
if (map.has(remainder)) {
return [map.get(remainder), i]
} else {
map.set(nums[i], i)
}
}
}
console.log(twoSum(nums, 10));
方法一: function twoSum(nums, target) { var result = [] for (let i = 0; i < nums.length; i++) { var remainder = target - nums[i] var index = nums.indexOf(remainder) if (index >= 0 && i !== index) { result = [i.