扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

java澶氫釜鏁扮粍鎺掑垪缁勫悎

扬州沐宇科技
2024-01-05 17:49:48
Java

瑕佸疄鐜板涓暟缁勭殑鎺掑垪缁勫悎锛屽彲浠ヤ娇鐢ㄩ€掑綊鐨勬柟娉曘€傚叿浣撴楠ゅ涓嬶細

  1. 鍒涘缓涓€涓€掑綊鍑芥暟锛屾帴鏀朵笁涓弬鏁帮細鍘熷鏁扮粍闆嗗悎銆佸綋鍓嶆帓鍒楃粨鏋溿€佸綋鍓嶅鐞嗙殑鏁扮粍绱㈠紩銆?/li>
  2. 鍦ㄩ€掑綊鍑芥暟涓紝棣栧厛妫€鏌ュ綋鍓嶅鐞嗙殑鏁扮粍绱㈠紩鏄惁瓒呭嚭浜嗗師濮嬫暟缁勯泦鍚堢殑闀垮害锛屽鏋滆秴鍑轰簡鍒欏皢褰撳墠鎺掑垪缁撴灉鍔犲叆鍒版渶缁堢粨鏋滈泦鍚堜腑銆?/li>
  3. 濡傛灉褰撳墠澶勭悊鐨勬暟缁勭储寮曟病鏈夎秴鍑哄師濮嬫暟缁勯泦鍚堢殑闀垮害锛屽垯鑾峰彇褰撳墠澶勭悊鐨勬暟缁勶紝閬嶅巻璇ユ暟缁勪腑鐨勬墍鏈夊厓绱狅紝骞跺皢姣忎釜鍏冪礌娣诲姞鍒板綋鍓嶆帓鍒楃粨鏋滀腑銆?/li>
  4. 璋冪敤閫掑綊鍑芥暟鑷韩锛屽皢褰撳墠鎺掑垪缁撴灉鍜屼笅涓€涓暟缁勭储寮曚綔涓哄弬鏁般€?/li>
  5. 鍦ㄩ€掑綊鍑芥暟缁撴潫鍚庯紝杩斿洖鏈€缁堢粨鏋滈泦鍚堛€?/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>

扫码添加客服微信