博客
关于我
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解题报告:

 

你可能感兴趣的文章
Mysql基础命令 —— 系统操作命令
查看>>
MySQL基础学习总结
查看>>
mysql基础教程三 —常见函数
查看>>
mysql基础教程二
查看>>
mysql基础教程四 --连接查询
查看>>
MySQL基础知识:创建MySQL数据库和表
查看>>
MySQL基础系列—SQL分类之一
查看>>
MySQL处理千万级数据分页查询的优化方案
查看>>
mysql备份
查看>>
mysql备份与恢复
查看>>
mysql备份工具xtrabackup
查看>>
mysql备份恢复出错_尝试备份/恢复mysql数据库时出错
查看>>
mysql复制内容到一张新表
查看>>
mysql复制表结构和数据
查看>>
mysql复杂查询,优质题目
查看>>
MySQL外键约束
查看>>
MySQL多表关联on和where速度对比实测谁更快
查看>>
MySQL多表左右连接查询
查看>>
mysql大批量删除(修改)The total number of locks exceeds the lock table size 错误的解决办法
查看>>
mysql如何做到存在就更新不存就插入_MySQL 索引及优化实战(二)
查看>>