下午好,请帮我优化解决问题。有一组数字对 [a, b],例如
[0, 1], [3, 2], [4, 0], [3, 4], [2, 1], [9, 8], [10, 9], [8, 10]
这个集合有 n 个不同长度的循环“链”,在每一对中,元素 a 和 b 可以是任何顺序。
实际上任务是建立这些链:
[0, 1], [1, 2], [2, 3], [3, 4], [4, 0] и [8, 9], [9, 10], [10, 8]
最有可能的是,该算法包括构建一个图,其中数字是顶点,对是边。
我将不胜感激任何帮助或建议。
考虑到评论中的答案,任务变得极其简单。C++ 中的解决方案。
顺便说一下,您错过了条件中的边 [3,4]。运行示例
这个想法很简单——我们在每个组件中只有一个循环,我们只需要仔细检查它。