博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode78. Subsets(思路及python解法)
阅读量:2241 次
发布时间:2019-05-09

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

Given a set of distinct integers, nums, return all possible subsets (the power set).

Note: The solution set must not contain duplicate subsets.

Example:

Input: nums = [1,2,3]Output:[  [3],  [1],  [2],  [1,2,3],  [1,3],  [2,3],  [1,2],  []]

统计所有子集。

用递归的方法比较简单,但是我没想出来。。

注意起始的final是二维数组。过程有点像搭积木(倾斜)。

class Solution:    def subsets(self, nums: List[int]) -> List[List[int]]:        final=[[]]        for num in nums:            final+=[item+[num] for item in final]        return final

再有就是用dfs的方法。

class Solution:    def subsets(self, nums: List[int]) -> List[List[int]]:        final=[]                def dfs(path, index):            final.append(path)            for i in range(index,len(nums)):                dfs(path+[nums[i]], i+1)                        dfs([], 0)        return final

 

转载地址:http://fcrbb.baihongyu.com/

你可能感兴趣的文章
GIS基本概念
查看>>
Java文件操作①——XML文件的读取
查看>>
java学习总结之文件操作--ByteArrayOutputStream的用法
查看>>
Java生成和操作Excel文件
查看>>
Java的三种代理模式
查看>>
java静态代理与动态代理简单分析
查看>>
JTS Geometry关系判断和分析
查看>>
阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了
查看>>
Intellij IDEA 使用技巧一
查看>>
IDEA 护眼色设置 背景行颜色取消等设置
查看>>
idea如何显示git远程与本地的更改对比?
查看>>
Git 分支 - 分支的新建与合并
查看>>
git创建与合并分支
查看>>
23种设计模式介绍以及在Java中的实现
查看>>
如何把本地项目上传到Github
查看>>
Git的使用--如何将本地项目上传到Github
查看>>
zookeeper客户端命令行查看dubbo服务的生产者和消费者
查看>>
intellij idea 相关搜索快捷键
查看>>
oracle查看数据库连接池中最大连接数和当前用户连接数等信息
查看>>
oracle中创建同义词(synonyms)表
查看>>