回溯-子集

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;
    }
}
相关推荐
SamDeepThinking3 分钟前
CyclicBarrier的底层实现
java·后端·面试
我是人✓4 分钟前
SpringMVC异常处理与拦截器实战揭秘
java·开发语言·后端
第六种自由7 分钟前
[路飞]_Leetcode 22. 括号生成
javascript·算法·leetcode
isyoungboy11 分钟前
事件驱动状态机与循环扫描状态机:两种计算模型的比较研究
算法·状态机
阿狗童鞋15 分钟前
SpringSecurity权限认证实战指南
java·后端·spring
行者全栈架构师16 分钟前
【鸿蒙心迹】从手机到平板、折叠屏——多端适配自查清单与踩坑实录(HarmonyOS 7.x)
前端·算法·架构
Wang's Blog19 分钟前
Java 项目部署之 Docker工具快速入门: 学习路径与命令速查导引
java·学习·docker
Wang's Blog42 分钟前
Java 项目部署之 Docker工具快速入门: Docker 镜像仓库
java·docker
longlongzihan1 小时前
LeetCode 24.两两交换链表中的节点:虚拟头结点与指针
算法·leetcode·链表
residual_fan1 小时前
基于控制感知域对抗网络的变工况故障诊断:从控制系统与运行状态协同的角度建立模型
人工智能·算法·数据挖掘·数据分析