求一个数的全部子集

题目要求

给定一个数组,求数组中元素的所有子集

比如: 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日,面试手撕代码题目

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦