在python中不能用"for i=0;i<8;i++"这种格式
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
result_list=[]
len_nums=len(nums)
for i in range(len_nums-1):
for j in range(i+1,len_nums):
if nums[i]+nums[j]==target:
result_list.append(i)
result_list.append(j)
return result_list
超时,数组太大
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
result_list=[]
dict_list={}
len_nums=len(nums)
for i in range(len_nums):
dict_list[nums[i]]=i
for i in range(len_nums):
temp_num=target-nums[i]
if temp_num in dict_list.keys():
if dict_list[temp_num]!=i:
result_list.append(i)
result_list.append(dict_list[temp_num])
break
return result_list
list转换成dict,然后判断target-nums[i]是否在dict_list.keys()中