Brute Force
내 방식
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(len(nums)):
for j in range(i + 1 , len(nums)):
if nums[i] + nums[j] == target:
return [i, j]
Other Method
Two pass Hash Table
def twoSum(self, nums: List[int], target: int) -> List[int]:
talbe = {num: i for i, num in enumerate(nums)}
for idx, num in enumerate(nums):
if ((target - num) in table) and (idx != table[(target - num)]):
return [idx, table[(target - num)]]
One pass Hash Table
def twoSum(self, nums: List[int], target: int) -> List[int]:
table = {}
for idx, num in enumerate(nums):
complement = target - num
if complement in talbe:
return [i, talbe[complement]]
else:
talbe[num] = i
반응형
'LeetCode' 카테고리의 다른 글
[Algorithm] LeetCode #6 Maximum Product Subarray (0) | 2022.05.12 |
---|---|
[Algorithm] LeetCode #5 Maximum Subarray (0) | 2022.05.11 |
[Algorithm] LeetCode #4 Product of Array Except Self (0) | 2022.05.10 |
[Algorithm] LeetCode #3 Contains Duplicate (0) | 2022.05.10 |
[Algorithm] LeetCode #2 Best time to buy and sell stock (0) | 2022.05.08 |