【Leetcode】Two Sum题解
程序员文章站
2022-07-14 18:06:21
...
git仓库地址
解法一:循环数组 + 数组includes
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
export function twoSum (nums:number[], target:number):number[] {
const len:number = nums.length
let i:number = 0
let k:number;
while (i < len) {
let current:number = nums[i]
let other:number = target - current
if (nums.includes(other)) {
k = nums.indexOf(other)
if (k !== i)break
}
i++
}
return [i, k]
};
解法二:循环数组 + Map
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
export function twoSum1 (nums:number[], target:number):number[] {
const m = new Map()
const len:number = nums.length
let i:number = 0
for (; i < len; i++) {
let v:number = nums[i]
if (m.has(target-v)) return [m.get(target-v), i]
m.set(v, i)
}
};
推荐阅读
-
Ural 1248 Sequence Sum 题解
-
LeetCode 15: 3Sum题解(python)
-
【LeetCode】Two Sum & Two Sum II - Input array is sorted & Two Sum IV - Input is a BST
-
LeetCode - 1. Two Sum(8ms)
-
LeetCode_#1_两数之和 Two Sum_C++题解
-
Two Sum - 新手上路
-
259 [LeetCode] 3Sum Smaller 三数之和较小值
-
LeetCode(62)-Two Sum
-
LeetCode:Two Sum浅析
-
leetcode 2. Add Two Numbers