1. Two Sum 兩數之和

Two Sum 兩數之和

Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

You can return the answer in any order.

 

Example 1:

Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].

 

Example 2:

Input: nums = [3,2,4], target = 6
Output: [1,2]

 

Example 3:

Input: nums = [3,3], target = 6
Output: [0,1]

 

Constraints:

2 <= nums.length <= 104
-109 <= nums[i] <= 109
-109 <= target <= 109
Only one valid answer exists.

 

解法:

意思陣列當中有兩個元素相加 === target的值,要返回兩個的位置索引

跑每個元素,當target - 當前元素的值的剩餘值,有在map當中,就返回[map另一個的位置, 當前位置]

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

Copyright © 2025 - All right reserved