中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java怎么輸出數組的所有子集

小億
139
2023-10-27 10:37:18
欄目: 編程語言

要輸出一個數組的所有子集,可以使用遞歸的方法。

首先,定義一個函數來遞歸地生成所有子集。該函數將接收三個參數:數組,當前位置和當前子集。開始時,當前位置為0,當前子集為空集。然后,遞歸地調用該函數兩次:一次是在當前位置的元素不包含在當前子集中的情況下,另一次是在當前位置的元素包含在當前子集中的情況下。遞歸的終止條件是當前位置等于數組的長度。

以下是用Java編寫的代碼示例:

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

public class SubsetGenerator {
    public static void generateSubsets(int[] nums) {
        List<Integer> subset = new ArrayList<>();
        generateSubsets(nums, 0, subset);
    }

    private static void generateSubsets(int[] nums, int pos, List<Integer> subset) {
        if (pos == nums.length) {
            System.out.println(subset);
            return;
        }

        // 不包含當前位置的元素
        generateSubsets(nums, pos + 1, subset);

        // 包含當前位置的元素
        subset.add(nums[pos]);
        generateSubsets(nums, pos + 1, subset);
        subset.remove(subset.size() - 1);
    }

    public static void main(String[] args) {
        int[] nums = {1, 2, 3};
        generateSubsets(nums);
    }
}

運行上述代碼,將輸出數組 {1, 2, 3} 的所有子集:

[]
[3]
[2]
[2, 3]
[1]
[1, 3]
[1, 2]
[1, 2, 3]

0
云浮市| 即墨市| 鸡西市| 清徐县| 寿阳县| 长治县| 凯里市| 铅山县| 玛多县| 兰考县| 新源县| 江都市| 镇安县| 杭锦后旗| 九寨沟县| 岱山县| 乌苏市| 沅江市| 泽普县| 沽源县| 竹溪县| 上思县| 札达县| 漳浦县| 海安县| 五寨县| 义乌市| 芮城县| 抚远县| 台中市| 大方县| 萨嘎县| 阿拉善右旗| 富裕县| 双辽市| 盈江县| 锦州市| 沅江市| 贵阳市| 新余市| 长白|