-
[알고리즘] Two Sum알고리즘/배열 2021. 4. 20. 11:07
Problem
Key Point
- target - nums[i]를 Key로 loop의 index를 Value로 Map에 저장한다.
- 해당 Key값을 만족하는 nums[i] 요소를 찾으면 결과를 리턴한다.
Code
public class TwoSum { public void solution(int[] nums, int target) { // 01. ds 담을 그릇 int[] result = new int[2]; Map<Integer, Integer> map = new HashMap<>(); // 02. for for (int i = 0; i < nums.length; i++) { if (map.containsKey(nums[i])) { result[0] = map.get(nums[i]) + 1; result[1] = i + 1; } else { map.put(target - nums[i], i); } } System.out.println(Arrays.toString(result)); } public static void main(String[] args) { TwoSum twoSum = new TwoSum(); twoSum.solution(new int[]{2, 8, 11, 14}, 16); } }
'알고리즘 > 배열' 카테고리의 다른 글
[알고리즘] Unique Email Addresses (0) 2021.04.21 [알고리즘] Move Zeroes (0) 2021.04.20 [알고리즘] Daily temperatures (O) (1) 2021.04.20 [알고리즘] Merge Intervals (O) (0) 2021.04.20 [알고리즘] Meeting Rooms II (0) 2021.04.20