题目信息

image.png

问题解答

暴力解法

https://leetcode-cn.com/submissions/detail/117226955/

  1. function twoSum(nums: number[], target: number): number[] {
  2. for(let i = 0; i < nums.length; i++) {
  3. const j = nums.findIndex(num => num === target - nums[i])
  4. if(j !== -1 && j !== i) {
  5. return [i, j]
  6. }
  7. }
  8. return []
  9. };

map

https://leetcode-cn.com/problems/two-sum/submissions/

function twoSum(nums: number[], target: number): number[] {
    const map = new Map()
    for(let i = 0; i < nums.length; i++) {
        const diff = target - nums[i]
        const j = map.get(diff)
        if(j !== undefined) {
            return [i, j]
        } else {
            map.set(nums[i], i)
        }
    }
    return []
};