博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lintcode 中等题:subsets II 带重复元素的子集
阅读量:4582 次
发布时间:2019-06-09

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

题目

给定一个可能具有重复数字的列表,返回其所有可能的子集

样例

如果 S = [1,2,2],一个可能的答案为:

[  [2],  [1],  [1,2,2],  [2,2],  [1,2],  []]
注意
  • 子集中的每个元素都是非降序的
  • 两个子集间的顺序是无关紧要的
  • 解集中不能包含重复子集
挑战

你可以同时用递归与非递归的方式解决么?

解题

一个很简单的想法就是在上一题目中增加判断是否已经存在某个子集

class Solution:    """    @param S: A set of numbers.    @return: A list of lists. All valid subsets.    """    def subsetsWithDup(self, nums):        # write your code here        res = []        size = len(nums)        nums.sort()        if nums == None or size == 0:            return res        for i in range(1<
Python Code

 

转载于:https://www.cnblogs.com/theskulls/p/5100209.html

你可能感兴趣的文章
C#-CLR各版本特点
查看>>
css3背景透明文字不透明
查看>>
《java JDK7 学习笔记》之接口与多态
查看>>
android的用户定位(一)
查看>>
设计模式-结构型模式,外观模式(6)
查看>>
[Java] 遍历HashMap和HashMap转换成List的两种方式
查看>>
mongodb
查看>>
LeetCode 46. Permutations
查看>>
jmeter- 性能测试3:聚合报告(Aggregate Report )
查看>>
JavaScript高级程序设计---学习笔记(二)
查看>>
vim 插件的学习
查看>>
Uncaught SyntaxError: Unexpected token ILLEGAL
查看>>
一个预处理定义的问题
查看>>
ANDROID L——Material Design综合应用(Demo)
查看>>
自我介绍以及关于软件工程的问题
查看>>
struts (一)
查看>>
【新番推荐】工作细胞
查看>>
NYOJ 16 矩形嵌套
查看>>
Leetcode中的SQL题目练习(二)
查看>>
dubbo 集群容错源码
查看>>