在开发 Complete subtour exchange crossover 时,我陷入了僵局。
我需要在数组之间找到子图
假设我有 2 个数组
[1, 2 , 4, 3, 8, 5, 6, 7] && [1, 2 , 3, 4, 5, 6, 7, 8]
函数输出应该是
[ [1, 2] [4, 3] [5, 6, 7]]
int[] p1 = {1, 2 , 4, 3, 8, 5, 6, 7}
int[] p2 = {1, 2 , 3, 4, 5, 6, 7, 8}
List<List<Integer>> o1 = findCommonSubtours(p1, p2)
List<List<Integer>> o2 = findCommonSubtours(p2, p1)
// o1 = {{1, 2},{4, 3},{5, 6, 7}}
// o2 = {{1, 2},{3, 4},{5, 6, 7}}
我正在使用 Java,但我会接受算法本身无语言