回溯-子集

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;
    }
}
相关推荐
菜鸟‍16 小时前
【论文学习】Disco:基于邻接感知协同着色的密集重叠细胞实例分割方法
人工智能·学习·算法
KhalilRuan16 小时前
Burst编译器的底层原理
java·开发语言
牧天白衣.16 小时前
力扣215.数组中的第K个最大元素
算法·leetcode
cxr82816 小时前
控制理论基础
人工智能·算法
Zww089116 小时前
idea配置注释模板
java·ide·intellij-idea
Renhao-Wan16 小时前
Docker 核心原理详解:镜像、容器、Namespace、Cgroups 与 UnionFS
java·后端·docker·容器
Rsun0455116 小时前
ScheduledExecutorService类作用
java
平平淡淡才是true16 小时前
偏序关系、哈斯图、最长链长度、最长链条数
算法
小钊(求职中)16 小时前
算法知识、常用方法总结
java·算法·排序算法·力扣
萧逸才16 小时前
【learn-claude-code】S07TaskSystem - 任务系统:大目标拆成小任务,持久化到磁盘
java·人工智能·ai