纯属记录
1、1 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
1、思路:双层循环,遍历每一个数和它后面的数,看你和是否为target
class Solution():
def twosum(self,data,target):
for i in range(len(data)):
for j in range(i+1,len(data)):
if data[i] + data[j] == target:
return [i,j]
return []
a = Solution()
print(a.twosum([1,2,3,4],4))
2、代码思路:目标值减去列表中的值依次存入字典,同时寻找字典中有没有和num中相同的数,有返回下标
class Solution():
def twosum(self,num,target):
dict = {
}
n = len(num)
for i in range(n):
opnum = target - num[i]
if num[i] not in dict.keys():
dict[opnum] = i
else:
return dict[num[i]],i
a = Solution()
print(a.twosum([