久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

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

142次閱讀
沒有評論

共計 798 個字符,預計需要花費 2 分鐘才能閱讀完成。

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

首先,定義一個函數來遞歸地生成所有子集。該函數將接收三個參數:數組,當前位置和當前子集。開始時,當前位置為 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]

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-13發表,共計798字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 田阳县| 凌海市| 巴塘县| 内黄县| 桦南县| 内江市| 兴安盟| 闸北区| 称多县| 井陉县| 沁阳市| 四子王旗| 兴文县| 开封县| 海淀区| 灌南县| 开平市| 宝山区| 盖州市| 广丰县| 兴城市| 澄江县| 九寨沟县| 太原市| 隆化县| 车致| 金华市| 灌南县| 留坝县| 新乡市| 壶关县| 达尔| 奇台县| 嘉峪关市| 石狮市| 永定县| 湖口县| 广昌县| 方正县| 边坝县| 福泉市|