java澶氫釜鏁扮粍鎺掑垪缁勫悎
瑕佸疄鐜板涓暟缁勭殑鎺掑垪缁勫悎锛屽彲浠ヤ娇鐢ㄩ€掑綊鐨勬柟娉曘€傚叿浣撴楠ゅ涓嬶細
- 鍒涘缓涓€涓€掑綊鍑芥暟锛屾帴鏀朵笁涓弬鏁帮細鍘熷鏁扮粍闆嗗悎銆佸綋鍓嶆帓鍒楃粨鏋溿€佸綋鍓嶅鐞嗙殑鏁扮粍绱㈠紩銆?/li>
- 鍦ㄩ€掑綊鍑芥暟涓紝棣栧厛妫€鏌ュ綋鍓嶅鐞嗙殑鏁扮粍绱㈠紩鏄惁瓒呭嚭浜嗗師濮嬫暟缁勯泦鍚堢殑闀垮害锛屽鏋滆秴鍑轰簡鍒欏皢褰撳墠鎺掑垪缁撴灉鍔犲叆鍒版渶缁堢粨鏋滈泦鍚堜腑銆?/li>
- 濡傛灉褰撳墠澶勭悊鐨勬暟缁勭储寮曟病鏈夎秴鍑哄師濮嬫暟缁勯泦鍚堢殑闀垮害锛屽垯鑾峰彇褰撳墠澶勭悊鐨勬暟缁勶紝閬嶅巻璇ユ暟缁勪腑鐨勬墍鏈夊厓绱狅紝骞跺皢姣忎釜鍏冪礌娣诲姞鍒板綋鍓嶆帓鍒楃粨鏋滀腑銆?/li>
- 璋冪敤閫掑綊鍑芥暟鑷韩锛屽皢褰撳墠鎺掑垪缁撴灉鍜屼笅涓€涓暟缁勭储寮曚綔涓哄弬鏁般€?/li>
- 鍦ㄩ€掑綊鍑芥暟缁撴潫鍚庯紝杩斿洖鏈€缁堢粨鏋滈泦鍚堛€?/li>
涓嬮潰鏄竴涓ず渚嬩唬鐮侊細
import java.util.ArrayList;
import java.util.List;
public class ArrayPermutation {
public static List<List<Integer>> permute(int[][] arrays) {
List<List<Integer>> result = new ArrayList<>();
permuteHelper(result, new ArrayList<>(), arrays, 0);
return result;
}
private static void permuteHelper(List<List<Integer>> result, List<Integer> current, int[][] arrays, int index) {
if (index >= arrays.length) {
result.add(new ArrayList<>(current));
return;
}
int[] array = arrays[index];
for (int i = 0; i < array.length; i++) {
current.add(array[i]);
permuteHelper(result, current, arrays, index + 1);
current.remove(current.size() - 1);
}
}
public static void main(String[] args) {
int[][] arrays = {
{1, 2, 3},
{4, 5},
{6, 7, 8}
};
List<List<Integer>> result = permute(arrays);
for (List<Integer> list : result) {
System.out.println(list);
}
}
}
杈撳嚭缁撴灉涓猴細
[1, 4, 6]
[1, 4, 7]
[1, 4, 8]
[1, 5, 6]
[1, 5, 7]
[1, 5, 8]
[2, 4, 6]
[2, 4, 7]
[2, 4, 8]
[2, 5, 6]
[2, 5, 7]
[2, 5, 8]
[3, 4, 6]
[3, 4, 7]
[3, 4, 8]
[3, 5, 6]
[3, 5, 7]
[3, 5, 8]
浠ヤ笂浠g爜瀹炵幇浜嗕笁涓暟缁勭殑鎺掑垪缁勫悎锛屼綘鍙互鏍规嵁闇€瑕佷慨鏀瑰師濮嬫暟缁勯泦鍚堬紝瀹炵幇浠绘剰鏁伴噺鐨勬暟缁勬帓鍒楃粍鍚堛€?/p>
相关问答