如果给出整数对(a1,b1),(a2,b2),(a3,b3),..(an,bn)
并且有一个最大和值= X
那么我们如何选择给定的对,使得第一个条目的总和(即a1,a2,.... .ap)所选对中的maximum but <= X
?例如,如果给定的对是(43,9),(57,12),(13,4)
并且最大总和是71
,那么我们可以选择的对是(57,12)
和(13,4)
给出最大总和&lt; = 71(X)as 70。
我最初的方法是根据第一个条目值按降序排序对,然后可能是一个O(n ^ 2)算法..但我不确定这个,它对于大量数据也可能太慢了。所以它有什么有效的方法吗?
感谢。