是否有任何算法可以从给定的成对数字列表中找到不成对的数字。例如在 {(1,2),(2,3),(3,4)} 中,对 (1,3) 和 ( 2,4) 从未配对过。
最佳答案
你可以这样做:
- 遍历所有对并构建一组出现在集合中的所有数字。
- 构建所有可能的数字对,将结果存储在不同的集合中。
- 遍历原始列表中的所有对,并从所有对的集合中删除您找到的每个对。
- 现在剩下所有未出现在原始集中的对。
当然,这假设您只关心原始集合中的值对。例如, (1, 5) 对也不在您的示例中。也不是(猫,狗)。
这在时间 O(n2) 中运行,其中 n 是原始对组中表示的数字的数量。
希望这对您有所帮助!
关于c# - 从给定的数字对中查找不成对的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12146554/