Java教程

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 是为了和题目示例一致

这篇关于2021-07-18 6的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!