回溯-子集

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;
    }
}
相关推荐
用户1285261160236 分钟前
我把祖传Java项目重构后,接口响应从3s砍到了200ms,只改了这几行代码
java
鱼鱼不愚与37 分钟前
《原来如此 | 第01期:为什么导航软件能预测红绿灯倒计时?》
算法
Linsk40 分钟前
组件 = 模板 + 业务逻辑
java·前端·vue.js
星沉远浦2 小时前
用Gemini高效解决Java代码报错难以定位的问题
java
用户298698530145 小时前
Word 文档字符级格式化:Java 实现方案详解
java·后端
复杂网络5 小时前
论最小 Agent 计算机的形态
算法
笨鸟飞不快6 小时前
从单个服务到集群:一次完整的性能排查复盘
java·前端
荣码6 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
SamDeepThinking6 小时前
Java微服务练习方式
java·后端·微服务
朦胧之16 小时前
AI 编程-老项目改造篇
java·前端·后端