91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java如何輸出排列組合

小億
85
2024-09-26 01:21:09
欄目: 編程語言

在Java中,可以使用遞歸的方法來實現排列組合的輸出。以下是一個簡單的示例,展示了如何使用遞歸生成從n個元素中選取r個元素的排列組合:

import java.util.ArrayList;
import java.util.List;

public class PermutationsCombinations {

    public static void main(String[] args) {
        int n = 4;
        int r = 2;
        List<List<Integer>> result = permute(n, r);
        System.out.println("排列組合結果: " + result);
    }

    public static List<List<Integer>> permute(int n, int r) {
        List<List<Integer>> result = new ArrayList<>();
        if (n < r) {
            return result;
        }
        if (r == 0 || r == n) {
            result.add(new ArrayList<>());
            return result;
        }
        for (int i = 0; i < n; i++) {
            int[] nums = new int[n];
            for (int j = 0; j < n; j++) {
                nums[j] = i == j ? 1 : 0;
            }
            List<Integer> current = new ArrayList<>();
            for (int num : nums) {
                current.add(num);
            }
            current.remove(current.size() - r);
            List<List<Integer>> remaining = permute(n, r - 1);
            for (List<Integer> perm : remaining) {
                perm.addAll(current);
                result.add(perm);
            }
        }
        return result;
    }
}

在這個示例中,permute方法接受兩個整數參數nr,分別表示從n個元素中選取r個元素的排列組合。方法首先檢查邊界條件,如果n < r,則返回空結果。接下來,使用遞歸的方式生成排列組合。

main方法中,我們調用permute方法并輸出結果。例如,當n = 4r = 2時,輸出結果為:

排列組合結果: [[0, 1], [0, 2], [0, 3], [1, 0], [1, 2], [1, 3], [2, 0], [2, 1], [2, 3], [3, 0], [3, 1], [3, 2]]

0
荃湾区| 湾仔区| 南召县| 龙海市| 五莲县| 昌乐县| 保康县| 鄢陵县| 武汉市| 江源县| 工布江达县| 伊宁市| 始兴县| 霍山县| 高陵县| 同江市| 镇平县| 保靖县| 金川县| 桃园县| 沁水县| 锡林浩特市| 曲松县| 岳普湖县| 临漳县| 林西县| 滁州市| 建瓯市| 马山县| 舒兰市| 张家川| 苗栗县| 奇台县| 绥芬河市| 辽宁省| 甘德县| 青阳县| 寿阳县| 凤山县| 禄劝| 建昌县|