回溯-子集

78.子集

java 复制代码
给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

输入 :整型数组
输出 :二元列表
思路:利用二进制,(比如说数组长度为3)000、001、010、011、100、101、110、111刚好可以遍历所有情况

java 复制代码
class Solution {
    List<List<Integer>> result = new ArrayList<>();
    List<Integer> tempList = new ArrayList<>();
    public List<List<Integer>> subsets(int[] nums) {
        int n = nums.length;
        for(int i = 0; i < (1 << n); i++){
            tempList.clear();
            for(int j = 0; j < n; j++){
                if((i & (1 << j)) != 0){
                    tempList.add(nums[j]);
                }
            }
            result.add(new ArrayList<>(tempList));
        }
        return result;
    }
}
相关推荐
Java成神之路-15 小时前
深入理解 HashMap 扩容时机:JDK 7 vs JDK 8 的设计差异与取舍
java·juc
李冰然15 小时前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java
今日无bug16 小时前
列表转树:一道题搞懂 HashMap 在算法里的价值
前端·数据结构
竹枝溪16 小时前
MySQL进阶:约束、多表设计、多表查询与事务
java·数据库·mysql·事务·子查询·acid·多表查询
上玄code16 小时前
【Agent精讲】调一个LLMAPI背后的工程问题
java·开发语言·python·chatgpt
李冰然16 小时前
深入Java集合框架:ArrayList源码解析(JDK 8)
java
小小啊python16 小时前
IDEA中SpringBoot项目配置热部署
java·ide·intellij-idea·springboot·热部署
何以解忧,唯有..16 小时前
预订酒店问题
算法
No8g攻城狮16 小时前
【算法】什么是 DFS 与 BFS 及他们的区别
算法·深度优先·宽度优先
zww894911116 小时前
家政派单系统实战指南:从需求分析到智能调度算法落地
算法·需求分析