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: