Python---按字典序输出集合的所有非空子集

通过使用模拟二进制减法以判断每次选取的具体元素。其中flag[ ]为模拟二进制数,初始化全为1,当flag[0]为0时结束循环。下标为0位不作为选取(用来判断是否结束),从下标为1开始到size + 1,数值为0则代表不选取原数组中所对应的元素,反之为1则选取。


实现代码:

class Solution:def subsets(self, set):size = len(set)flags = [1]*(size + 1)          #flag标志有无result = []                     #存储结果while flags[0] == 1:            #实现2进制减1操作i = sizewhile flags[i] != 1:flags[i] = 1i = i - 1flags[i] = 0subset = []                 # 存储单个结果for j in range(1,size + 1):if flags[j]==1:subset.append(set[j-1])result.append(subset)return resultdef __init__(self, set):list = self.subsets(set)answer = [[] for i in set]  # 初始化结果数组for i in list:if len(i) != 0:         #过滤掉空集answer[len(i) - 1].append(i)  # 将相应长度的子集放到answer的项中for item in answer:print(item)  # 打印结果def main():list = [1,2,3,4,5,6,7,8,9,10]Solution(list)if __name__ == '__main__':main()

Python---按字典序输出集合的所有非空子集相关推荐

  1. 求集合的所有非空子集

    某个集合有n个元素,它的所有子集数(包括空集和自己)为2^n,有两种办法,一种是位图法(任一个元素选取或不选取),另一种办法是递归法: // File name: main.m#include < ...

  2. 教你如何求一个集合的所有非空子集的方差和

    /题目: 注:要求提交程序源代码和执行结果,编程语言不限. 1.对于一个大小为n的数集,求出该数集的每个"非空子集"的方差之和对10°+7取模的结果. 附件1说明:第一行一个正整数 ...

  3. 求集合中的非空子集 Java

    字符串的非空子集 import java.util.*; public class _非空子集 {public static List<String> sList = new ArrayL ...

  4. python全排列字典序输出 递归_递归实现全排列,字典序法实现全排列

    问题:全排列的递归实现 编程思想: 用1 2 3为例,全排列结果为123,132,213,231,321,312  根据全排列的找到规律 1.将当前元素与后面位置的每个元素依此交换 2.交换后取后一个 ...

  5. python全排列字典序输出 递归_全排列-字典序列、递归方法c语言实现

    当前位置:我的异常网» C语言 » 全排列-字典序列.递归方法c语言实现 全排列-字典序列.递归方法c语言实现 www.MyException.Cn  网友分享于:2014-04-20  浏览:4次 ...

  6. Python:列表、集合等交集、并集、差集、非集简介及其代码实现之详细攻略

    Python:列表.集合等交集.并集.差集.非集简介及其代码实现之详细攻略 目录 列表.集合等交集.并集.差集.非集简介及其代码实现之详细攻略 1.交集:A & B & C & ...

  7. python单词按字典序输出_python按字典顺序输出单词频率_Python:如何添加频率行数并使用字典按字母顺序排序......

    我有一个项目,我必须通过sys.stdin获取每个单词的频率数量 我已经获得了这部分.第二部分是获取每个单词的行号,我觉得我已经获得了,但我不能在输出字符串中添加行号,并且我也无法找到一种按字母顺序排 ...

  8. python列表元组字典集合实验心得_python学习小总结(列表、元组、字典、集合、字符串)...

    ---恢复内容开始--- 一.列表(list) 1.添加 append():追加,在列表末尾添加元素. 列表名.append(添加的元素) extend():扩展,在列表末尾添加元素. 列表名.ext ...

  9. SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理

    SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理 本文连接 简介 SIGIA_4P 网址 a. 课程OKR Objectives and ...

最新文章

  1. PLsql连接centos7上的Oracle的连接超时的解决方发
  2. windows 2008 R2下安装Exchange 2010(单域环境下)
  3. 各种 Java Thread State 第一分析法则
  4. Could not find leader nimbus
  5. linux内核设计与实现 epub_mongodb内核源码设计实现、性能优化、最佳运维系列-网络传输层模块源码实现四...
  6. HTML5标准有缺陷 手机电池信息可泄露上网活动
  7. Git工具项目管理的基础使用方式(GitHub同步方式)
  8. 【征文】极客头条使用体验及改进建议
  9. MacOS与Windows快捷键对照
  10. 【好玩的小demo】微信QQ聊天数据统计分析
  11. 虚拟机usb服务器,VM虚拟机支持USB启动的方法
  12. PyQt(Python+Qt)学习随笔:图例解释QFrame类的lineWidth、midLineWidth以及frameWidth属性
  13. 【JAVA】Retrofit详解和使用
  14. java deprecated 注释_Java注释中的@deprecated与源代码中的@Deprecated
  15. DINO:自监督ViT的新特性
  16. 人生就是个学习、思考与实践的过程
  17. 该微信用户未开启“公众号安全助手”的消息接收功能,请先开启后再绑定
  18. 【深度】了解小红书运营攻略
  19. openCvSharp4手写体识别
  20. 数据分析方法论-归因分析

热门文章

  1. php商城伪静态,友价商城nginx伪静态源码规则
  2. Apache Druid安装部署手册
  3. [GXYCTF2019]BabyUpload
  4. linux系统下ls -r命令的简单实现(C语言版)
  5. Flash&Flex大全
  6. 英雄联盟怎么解除小窗口_英雄联盟手游安妮怎么样 英雄联盟手游安妮技能介绍...
  7. 打开jpg显示没有注册类 打开txt显示找不到文件位置 画图板也打不开,总之微软默认的应用都打不开 解决方案如下:
  8. linux who 时间,linux命令之who、w、whoami
  9. android车载系统测试,【图】原生安卓来了!Polestar 2智能车联测试_汽车之家
  10. Python自定义豆瓣电影种类,排行,点评的爬取与存储(高阶上)