亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
瑞安市| 嘉善县| 宜兴市| 林西县| 常德市| 宕昌县| 维西| 班玛县| 库伦旗| 五莲县| 惠安县| 屏南县| 诸暨市| 道孚县| 江山市| 江门市| 南皮县| 南部县| 红桥区| 瑞昌市| 利川市| 邵东县| 德江县| 武隆县| 新蔡县| 茂名市| 吴川市| 鄂伦春自治旗| 麻江县| 雅安市| 肇庆市| 汝阳县| 巴彦县| 策勒县| 新邵县| 浮梁县| 察雅县| 平阳县| 红原县| 大安市| 湖北省|