回溯-子集

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;
    }
}
相关推荐
满怀冰雪几秒前
第29篇-状态压缩DP-当状态很多时如何降维优化
java·算法·动态规划
weixin_446729163 分钟前
javaweb--文件上传
java
令狐掌门7 分钟前
2026华为OD面试题020:日志文件异常检测
算法·leetcode·华为od
炸薯条!9 分钟前
从零开始学C++(4) --类和对象
开发语言·c++·算法
渡我白衣10 分钟前
打印宏与socket模块设计
java·linux·开发语言·c++·ide·人工智能·eclipse
haluhalu.17 分钟前
prompts.chat:07-few-shot-prompting
人工智能·算法
智码看视界21 分钟前
Day18 SpringBoot自动配置原理:从@SpringBootApplication开始
java·spring boot·后端·自动装配
Jerry26 分钟前
LeetCode 150. 逆波兰表达式求值
算法
浩瀚地学32 分钟前
【面试算法笔记】0106-数组-区间和
笔记·算法·面试
Jerry6 小时前
LeetCode 1047. 删除字符串中的所有相邻重复项
算法