Two Sum 문제풀이 - Java 사용
nums배열과 target을 주어지면 target에 해당하는 합한 값을 ouput하는 문제
ex) nums[2,7,11,15], target = 9 이면 nums[0]과 nums[1] 번째에있는 2 + 7로 계산
class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> map = new HashMap<>();
try {
for (int i = 0; i < nums.length; i++) {
int tmp = target - nums[i];
// 1, target = 9, nums[0] = 2; -> 7 // 2, target = 9, nums[1] = 7; -> 2,
// key와 대응되는 value값을 불러올 때
if (map.containsKey(tmp)) {
return new int[] { map.get(tmp), i };
}
// map 저장
map.put(nums[i], i);
}
} catch (Exception e) {
e.printStackTrace();
}
return nums;
}
}
'LeetCode 알고리즘 문제풀이' 카테고리의 다른 글
[LeetCode-268] Missing Number 문제풀이 - Java 사용 (0) | 2020.09.22 |
---|---|
[LeetCode-171] Excel Sheet Column Number 문제풀이 - Java 사용 (0) | 2020.09.18 |
[LeetCode-217] Contains Duplicate 문제풀이 - Java 사용 (0) | 2020.09.17 |
[LeetCode-242] Valid Anagram 문제풀이 - Java 사용 (0) | 2020.09.16 |
[LeetCode-53] Maximum Subarray 문제풀이 - Java 사용 (0) | 2020.09.15 |