回溯-子集

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;
    }
}
相关推荐
mjhcsp5 小时前
C++ 后缀平衡树解析
android·java·c++
望舒5135 小时前
代码随想录day33,动态规划part2
java·算法·leetcode·动态规划
那起舞的日子5 小时前
牛客网刷算法的启发
算法
追随者永远是胜利者5 小时前
(LeetCode-Hot100)169. 多数元素
java·算法·leetcode·go
s砚山s5 小时前
代码随想录刷题——二叉树篇(二十)
算法
蜜獾云5 小时前
JAVA面试题速记-第1期-java基础
java·开发语言
百锦再6 小时前
Java中的反射机制详解:从原理到实践的全面剖析
java·开发语言·jvm·spring boot·struts·spring cloud·kafka
没有bug.的程序员6 小时前
Gradle 构建优化深度探秘:从 Java 核心到底层 Android 物理性能压榨实战指南
android·java·开发语言·分布式·缓存·gradle
-Rane6 小时前
【C++】vector
开发语言·c++·算法
tianyagukechat6 小时前
rockylinux9.5 配置IP
java·网络·tcp/ip