大家好,我是python新手,我正在Leetcode中解决两个问题 这里是描述: 给定一个整数数组,返回两个数字的索引,以便它们加起来成为一个特定的目标。
您可以假设每个输入都只有一个解决方案,并且您可能不会两次使用相同的元素。
示例:
给出数字= [2,7,11,15],目标= 9,
因为nums [0] + nums [1] = 2 + 7 = 9, 返回[0,1]。
我的代码在这里:
def twoSum(self, nums, target):
num=[]
for i in range(len(nums)):
index= target-nums[i]
if(index in nums):
num.append(i)
return num
但是我按下提交按钮时出错了
Input [3,2,4] 6
Output
[0,1,2]
Expected
[1,2]
我不知道为什么
答案 0 :(得分:1)
def twoSum(nums, target):
container = {}
for i, num in enumerate(nums):
if target - num in container:
return [container[target - num], i]
container[num] = i
return
答案 1 :(得分:-3)
这里去!
nums = [3,2,4]
target = 6
def twoSum(nums, target):
for i in range(len(nums)):
elem = target - nums[i]
if elem in nums and elem != nums[i]:
return [i, nums.index(elem)]
print(
twoSum(nums, target)
)