+7 投票
分类:问答挑战 | 用户: 10 5 4 (4.7k 分)

【问题描述】

给定一个整数数组 nums 和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。
 
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你应该按从小到大顺序返回答案。

你只需要在定义好的函数里填写代码即可,注意不要改动函数接口定义和后面的驱动代码。


【样例1输入】

2,7,11,15

9
【样例1输出】

[0, 1]

【样例2输入】

2,7,11,15

3
【样例2输出】

[]

【样例说明】

样例1中:注意[0, 1]中,在'1'的前面有一个空格。将一个列表打印出来时,会自动产生这个空格。

例如:print([1,2,3]),输出结果为:[1, 2, 3]

样例2中:输出为[],两个中括号里没有空格。


def twoSum(nums: [int], target: int) -> [int]:

nums = input().split(',')
newNums = []
for n in nums:
    newNums.append(int(n))

target = int(input())

print(twoSum(newNums,target))

4 个回答

+2 投票
用户: 10 7 4 (2.9k 分)
采纳于 用户:
 
已采纳

过程截图,在jupyter book上运行,编程题需要更改的已经标注出,有运行结果

+2 投票
用户: 6 4 2 (3.6k 分)

def twoSum(nums: [int], target: int) -> [int]:

    for i in range(len(nums)):

        for j in range(i+1,len(nums)):

            if nums[i]+nums[j]==target:

                return [i,j]

    else:

                return[]

nums = input().split(',')

newNums = []

for n in nums:

    newNums.append(int(n))

target = int(input())

print(twoSum(newNums,target))

+3 投票
用户: 10 10 7 (8.0k 分)
def twoSum(nums: [int], target: int) -> [int]:
    l =[]
    for i in range(0, len(nums)):
        for j in range(i+1, len(nums)):
            if nums[i] + nums[j] == target:
                l.append(i)
                l.append(j)
    return l

nums = input().split(',')
newNums = []
for n in nums:
    newNums.append(int(n))
target = int(input())
print(twoSum(newNums, target))
+2 投票
用户: 9 8 7 (4.6k 分)
class Solution:

    def twoSum(self, nums: List[int], target: int) -> List[int]:

        for i in range(0,len(nums),1):

            for j in range(i+1,len(nums)):

                if (nums[i]+nums[j])==target:

                    return [i,j]

           

        return []

        

if __name__=="__main__":      

    nums=[2,7,11,15]

    target=9

    solution=Solution()

    result=solution.twoSum(nums,target)

    print(result)
欢迎来到 在线问答系统 ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...