[LeetCode] Two Sum Java

dustle·2023년 6월 8일
1

Two Sum

주어진 배열에서 더한 값이 target 인 인덱스를 두 개 뽑아 반환하는 문제입니다.

반복문을 돌며 값과 인덱스를 Map 에 저장합니다.
target 에서 해당 인덱스의 값을 뺀 값이 나머지 정답 값입니다.
만약 Map 에 나머지 정답 값이 있는 경우 저장된 인덱스를 가져와서 반환합니다.

import java.util.*;

class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> map = new HashMap<>();
        int[] answer = new int[2];

        for(int i = 0; i < nums.length; i++) {
            int tmp = target - nums[i];
            
            if(map.containsKey(tmp)) {
                answer[0] = i;
                answer[1] = map.get(tmp);
                break;
            }

            map.put(nums[i], i);
        }

        return answer;
    }
}

0개의 댓글