题目要求
给定一个数组,求数组中元素的所有子集
比如: 123=1,2,3,12,23,123
代码如下
# coding=utf-8
# 求数组全部的子集,123=1,2,3,12,23,123
def find_subSet(s=[1, 2, 3]):
# l: 存放全部的子集
l = []
len_l = len(s)
win = 1
# 子集为单独的
for i in range(len_l):
l.append(s[i])
while win <= len_l:
for i in range(len_l):
temp = ""
if i+win < len_l:
for j in range(i, i+win+1):
temp += str(s[j])
l.append(int(temp))
win += 1
print(l)
if __name__ == '__main__':
s = [1,2,3,4]
find_subSet(s)
结果
/Users/stone/anaconda3/envs/tensorflow_36/bin/python /Users/stone/PycharmProjects/algorithm/字节面试/求一个数的全部子集.py
[1, 2, 3, 4, 12, 23, 34, 123, 234, 1234]
说明
- 北京字节,11月14日,面试手撕代码题目