回溯-子集

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;
    }
}
相关推荐
2401_835792543 分钟前
Java复习上
java·开发语言·python
hoiii1875 分钟前
Mean Shift目标跟踪算法MATLAB实现
算法·matlab·目标跟踪
励志的小陈5 分钟前
复杂度算法题——旋转数组(三种思路)
c语言·数据结构·算法
小昭在路上……5 分钟前
编译与链接的本质:段(Section)的生成与定位
java·linux·开发语言
tankeven6 分钟前
HJ151 模意义下最大子序列和(Easy Version)
c++·算法
Sirens.14 分钟前
对顺序表以及双向链表的理解
数据结构·链表
启山智软20 分钟前
【智能商城系统技术架构优势】
java·spring·开源·商城开发
迷藏49422 分钟前
# 发散创新:基于Solidity的NFT智能合约设计与部署实战在区块链技术飞速发展
java·区块链·智能合约
tq108623 分钟前
从对象互操作性角度分析 `from` 与 `to` 方法的选择
java
不光头强36 分钟前
力扣78子集题解
算法·leetcode·深度优先