320x100
https://leetcode.com/problems/two-sum/
정수 목록이 주어졌을 때, 목록 내 두 정수의 합이 목표 값이 되는 경우 그 목록의 인덱스를 반환하는 문제다.
[C++]
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int, int> cache;
for (int i = 0; i < nums.size(); ++i)
{
int sub = target - nums[i];
auto iter = cache.find(sub);
if (iter != cache.end()) {
return vector<int> { iter->second, i };
}
else {
cache[nums[i]] = i;
}
}
return vector<int>();
}
};
[Python3]
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
cache = {}
for i, value in enumerate(nums):
remaining = target - nums[i]
if remaining in cache:
return [i, cache[remaining]]
else:
cache[value] = i
320x100
'코딩테스트 준비 > leetcode' 카테고리의 다른 글
14. Longest Common Prefix (0) | 2021.08.09 |
---|---|
118. Pascal's Triangle (0) | 2021.08.08 |
50. Pow(x, n) (0) | 2021.08.07 |
49. Group Anagrams (0) | 2021.08.07 |
53. Maximum Subarray (0) | 2021.08.06 |