回溯-子集

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;
    }
}
相关推荐
2301_8184190113 小时前
C++中的协程编程
开发语言·c++·算法
add45a13 小时前
C++中的工厂方法模式
开发语言·c++·算法
java1234_小锋13 小时前
Java高频面试题:Spring-AOP通知和执行顺序?
java·开发语言·spring
番茄去哪了13 小时前
Java基础面试题day02
java·开发语言·面向对象编程
無限進步D13 小时前
二分算法 cpp
算法
xushichao198913 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
2501_9249526913 小时前
C++模块化编程指南
开发语言·c++·算法
qzhqbb13 小时前
差分隐私与大模型+差分隐私在相关领域应用的论文总结
人工智能·算法
2401_8319207413 小时前
基于C++的爬虫框架
开发语言·c++·算法
我是咸鱼不闲呀13 小时前
力扣Hot100系列22(Java)——[图论]总结(岛屿数量,腐烂的橘子,课程表,实现Trie(前缀树))
java·leetcode·图论