gpt4 book ai didi

java - 无 "duplicate"解的数组排列

转载 作者:行者123 更新时间:2023-11-30 05:26:15 25 4
gpt4 key购买 nike

一条路线被描述为[1,2,3,4]。对于路线 [1,2,3,4],重复的解决方案将是 [4,3,2,1]。我能够打印数组的所有排列,但如何提取“唯一”路线。

permute(java.util.Arrays.asList(1,2,3,4), 0);
static void permute(java.util.List<Integer> arr, int k){
for(int i = k; i < arr.size(); i++){
java.util.Collections.swap(arr, i, k);
permute(arr, k+1);
java.util.Collections.swap(arr, k, i);
}
if (k == arr.size() -1){
System.out.println(java.util.Arrays.toString(arr.toArray()));
}
}

最佳答案

如果你的意思是 [1,2,3,4]=[4,3,2,1]=[1,3,2,4]=...,

1) 变换ArrayList中的每个排列

2)按自然排序顺序对每个排列进行排序

3) 添加集合中排序的所有排列

关于java - 无 "duplicate"解的数组排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58540091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com