其他分享
首页 > 其他分享> > 2021-07-18 6

2021-07-18 6

作者:互联网

 4.两数之和(T8 / 难度简单)

描述:
给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的
假设给出的数组中只存在唯一解
例如:
给出的数组为 {20, 70, 110, 150},目标值为90
输出 index1=1, index2=2

示例1
输入:
[3,2,4],6
返回值:
[2,3]
(题目来自牛客网)

>>> from itertools import combinations as comb
>>>
>>> L,Sum = [3,2,4],6
>>> n=[i for i in comb(L,2) if sum(i)==Sum][0]
>>> list(n)
[2, 4]
>>> f'index1={L.index(n[0])+1}, index2={L.index(n[1])+1}'
'index1=2, index2=3'
>>>
>>> L,Sum = [20, 70, 110, 150],90
>>> n=[i for i in comb(L,2) if sum(i)==Sum][0]
>>> list(n)
[20, 70]
>>> f'index1={L.index(n[0])+1}, index2={L.index(n[1])+1}'
'index1=1, index2=2'
>>> 
>>> # L.index() +1 是为了和题目示例一致

标签:index,comb,07,18,Sum,2021,70,index2,index1
来源: https://blog.csdn.net/boysoft2002/article/details/118884938