提问人:ABadHaiku 提问时间:10/19/2021 最后编辑:ABadHaiku 更新时间:10/19/2021 访问量:116
如何以最佳方式从列表中选择有效的整数对?
How to pick valid pairs of integers from a list optimally?
问:
总结
给定一个离散的整数列表,将尽可能多的整数分配给满足条件的唯一对。如何以最佳方式选择这些货币对,以便剩下最少的整数?
详
- 我有一个从 1 到 ~1000000000 的 100 个整数列表。
- 每个整数只能使用一次。
- 整数被分配给对,比如说,.
(a, b)
2 * a != greatestCommonDenominator(a, a + b)
- 该程序返回可以使用剩余的最少整数创建的对集。
问题:
- 每个整数可以有多个有效对,但只能用它组成一个。
- 列表没有排序,尽管它可以排序。
- 列表中的整数不是唯一的,这意味着我必须使用索引。
我已经有了检查条件的功能,只是无法找出扫描列表的功能策略。
考虑到在这种情况下,配对无效的可能性有多大,我尝试先找到我无法创建的对,然后获取每个对的成员并将它们与不同的整数放在一起,这样它们就不会无效。从那里我想我可以任意配对其余的。当然,这最终太复杂了,并且在我的实现中有很多冗余。
当我努力弄清楚我的系统时,有没有人可以尝试更好的策略?
答: 暂无答案
评论
maximum matching on a graph