题目
代码

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 []

这篇博客探讨了如何解决寻找数组中两个数相加等于目标值的问题。提供了两种不同的解决方案:一种是通过字典来存储元素及其出现次数,检查是否可以找到一对重复的数;另一种是采用双指针技巧,从数组两端开始向中间遍历,直到找到满足条件的数对。

被折叠的 条评论
为什么被折叠?



