博客
关于我
LeetCode078——子集
阅读量:214 次
发布时间:2019-02-28

本文共 941 字,大约阅读时间需要 3 分钟。

我的LeetCode代码仓:

原题链接:

题目描述:

知识点:递归、回溯

思路:回溯法穷举数组所有子集

本题和虽然题目不尽相同,但思路却是一模一样。

时间复杂度是O(2 ^ n),其中n为nums数组的长度。空间复杂度即递归深度,是O(n)。

JAVA代码:

public class Solution {    private List
> listList; public List
> subsets(int[] nums) { listList = new ArrayList<>(); for (int i = 0; i <= nums.length; i++) { subSets(nums, new ArrayList<>(), i); } return listList; } private void subSets(int[] nums, List
list, int n){ if(list.size() == n){ listList.add(new ArrayList<>(list)); return; } for (int i = 0; i < nums.length; i++) { if(list.contains(nums[i]) || (!list.isEmpty() && list.get(list.size() - 1) > nums[i])){ continue; } list.add(nums[i]); subSets(nums, list, n); list.remove(list.size() - 1); } }}

LeetCode解题报告:

 

你可能感兴趣的文章
Netty工作笔记0032---零拷贝AIO内容梳理
查看>>
Netty工作笔记0033---Netty概述
查看>>
Netty工作笔记0034---Netty架构设计--线程模型
查看>>
Netty工作笔记0035---Reactor模式图剖析
查看>>
Netty工作笔记0036---单Reactor单线程模式
查看>>
Netty工作笔记0037---主从Reactor多线程
查看>>
Netty工作笔记0038---Netty模型--通俗版
查看>>
Netty工作笔记0039---Netty模型--详细版
查看>>
Netty工作笔记0040---Netty入门--服务端1
查看>>
Netty工作笔记0041---Netty入门--服务端2
查看>>
Netty工作笔记0042---Netty入门--编写客户端
查看>>
Netty工作笔记0043---单Reactor多线程模式
查看>>
Netty工作笔记0044---Netty案例源码分析
查看>>
Netty工作笔记0044---scheduledTaskQueue
查看>>
Netty工作笔记0045---Netty模型梳理
查看>>
Netty工作笔记0045---异步模型原理剖析
查看>>
Netty工作笔记0046---TaskQueue自定义任务
查看>>
Netty工作笔记0046---异步模型原理剖析
查看>>
Netty工作笔记0047---Http服务程序实例
查看>>
Netty工作笔记0048---Http服务过滤资源
查看>>