题目
代码
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
dic=dict()
for item in nums:
dic.setdefault(item,0)
dic[item]+=1
for item in nums:
if 2*item==target and dic[item]>=2:
return [item,item]
elif target-item in dic:
return [item,target-item]
return []
【双指针】
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
i, j = 0, len(nums) - 1
while i < j:
s = nums[i] + nums[j]
if s > target: j -= 1
elif s < target: i += 1
else: return nums[i], nums[j]
return []