描述:
给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数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 是为了和题目示例一致