Two Sum

bong bong·2023년 9월 1일

알고리즘

목록 보기
17/31

문제

정수 배열 nums 과 정수가 주어지면 두 숫자의 합이 가 되는 인덱스를target 반환합니다 .target

각 입력에는 정확히 하나의 솔루션이 있다고 가정할 수 있으며 동일한 요소를 두 번 사용할 수 없습니다 .

어떤 순서로든 답변을 반환할 수 있습니다.

생각

해시맵으로 인덱스를 을 선언해서
HashMap<Integer, Integer> numToIndex = new HashMap<>();

받은 배열을 순회하면서 주어진 값에서 해당 값이 뺀값을 계산
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
}
HashMap에 존재하면 인덱스를 반환
if (numToIndex.containsKey(complement)) {
return new int[]{numToIndex.get(complement), i};
}
아니여도 해시테이블에 넣어준다.
numToIndex.put(nums[i], i);

        }
profile
let's go invent tomorrow rather than worrying about what happened yesterday - Steven Paul Jobs

0개의 댓글