【发布时间】:2021-02-09 09:51:47
【问题描述】:
我昨天接受了一次采访,并被要求提供一种方法来从列表中找到所有成对的数字,这些数字加起来是一个单独的整数,该整数与列表分开。该列表可以无限长,但例如:
numbers = [11,1,5,27,7,18,2,4,8]
sum = 9
pairs = [(1,8),(5,4),(7,2)]
我已经对列表进行排序并消除所有大于sum 数字的数字,然后执行两个嵌套的 for 循环来获取每个索引并遍历其他数字以检查它们是否总和为给定的数字,但被告知有一种更有效的方法......
我一直在尝试解决这个问题,但除了向后执行嵌套迭代之外什么都没有,但这似乎只是稍微更有效率。
有什么想法吗?
【问题讨论】: