我试图解决一个问题,它要求我在一个列表中找到对的总和。成对索引必须是唯一的,即没有一个索引应该是多对的。 例如-
my_list = [1,1,2,3,4,5]
sum_greater_than_or_equal_to = 5
在这里,我有一个排序列表,并希望找到所有对的总和大于或等于5。所以, 我可以在O(n^2)中通过另一个循环来找到配对来解决这个问题。在多对中不使用索引的对是-
output = [(1,4),(1,5),(2,3)]
有没有其他更有效的方法? 不必创建两个循环?你知道吗
编辑-人们提到的答案包含值-[(2,4),(2,5),(3,4),(3,5),(4,5)]
,但我希望如果列表的索引已成对使用,则不能再次使用。你知道吗
以下代码将生成这类对的一个可能组合:
对于给定的测试集,解
[(3,4), (2,5)]
也是有效的答案。你知道吗相关问题 更多 >
编程相关推荐