需求:给定一些数,找出两个数之和等于目标值N
方法一:利用双指针方法解决
def twoSum1(nums, target):
res = []
newnums = nums[:] # 深拷贝原数组到新数组
newnums.sort() # 排序
left = 0 # 左指针
right = len(nums) - 1 # 右指针
while left < right:
if newnums[left] + newnums[right] == target:
for i in range(0, len(nums)):
if nums[i] == newnums[left]:
res.append(i)
elif nums[i] == newnums[right]:
res.append(i)
res.sort()
break
elif newnums[left] + newnums[right] < target:
left = left + 1
elif newnums[left] + newnums[right] > target:
right = right - 1
return (res[0] + 1, res[1] + 1)
if __name__ == '__main__':
nums = [3, 7, 10, 4, 5]
target = 11
print(twoSum1(nums, t