算法练习(python)day1
两数之和
题目要求:
给定一个整数数组nums和一个目标值target,请你在数组中找出和为目标值的那两个整数,并返回他们的数组下标。
自解:
def twoSum(nums,target):
lens = len(nums)
for i in range(0,lens):
for j in range(i+1,lens):
if target - nums[i] == nums[j]:
print('在nums中存在两个数之和为:',target,'他们的下标为:',i,j)
else:
print('这样的两个数不存在')
nums = [2,7,11,15]
target = 9
i = 0
j = 0
twoSum(nums,target)
注:此方法为自己在学习过程中记录的,若有不正确的地方请各位大佬指点一下,谢谢:)
我的思路:
关于这个问题,首先我想到的是可以用目标数去减数组中的每一个数,然后去看得到的结果在数组中是否存在,如存在,则输出结果,若不存在,则输出提示信息,然后又扩展到用两重循环,遍历数组,为了使两个相加的数不同,第二个循环采用加一的操作,这样使得每次遍历数组得到的数不相同,判断两数相加是否等于目标值。
还有更多的解题方法,详情请看这里