美文网首页
全排列 (python)

全排列 (python)

作者: 为什么会打雷下雨 | 来源:发表于2017-08-24 13:17 被阅读40次

python写的,想了一上午只能写成这样,遍历是都遍历过了,但感觉少了点什么

def qpl(sz, chuanru):
    if len(sz) == 1:
        print(chuanru, end='')
        print(sz[0])
        return
    else:
        for x in range(0, len(sz)):
            if chuanru:
                print(chuanru, end='')
            if x == 0:
                # print(sz[0], end='')
                new_array = sz[1:]
                qpl(new_array, sz[0])
            else:
                temp = sz[0]
                sz[0] = sz[x]
                sz[x] = temp
                # print(sz[0], end='')
                new_array = sz[1:]
                qpl(new_array, sz[0])


def main():
    a = [1, 2, 3, 4]
    qpl(a, chuanru=None)


main()

修改了一下,写出来了,很感动,把输出想成一次性的,就好了

def qpl(sz, index):
    if len(sz) == index:
        print(sz)
        return
    else:
        for x in range(index, len(sz)):
            if x == 0:
                new_array = sz[:]
                qpl(new_array, index + 1)
            else:
                temp = sz[0]
                sz[0] = sz[x]
                sz[x] = temp
                new_array = sz[:]
                qpl(new_array, index + 1)


def main():
    a = [1, 2, 3, 4]
    qpl(a, 0)


main()

相关文章

  • Python小白 Leetcode刷题历程 No.46-N

    Python小白 Leetcode刷题历程 No.46-No.50 全排列、全排列Ⅱ、旋转图像、字母异...

  • 全排列 (python)

    python写的,想了一上午只能写成这样,遍历是都遍历过了,但感觉少了点什么 修改了一下,写出来了,很感动,把输出...

  • python版全排列

    python版全排列 思路:[1, 2, 3, 4],第一位数字4选1,第二位数字3选1, 第三位数字2选1,依此...

  • python实现全排列

    结果是

  • 46. 全排列(Python)

    更多精彩内容,请关注【力扣中等题】。 题目 难度:★★★☆☆类型:数学方法:回溯法 题目 给定一个没有重复数字的序...

  • leetcode 46 全排列(python)

    递归+交换 递归+跳过已选数字 第一种方法的图解,有空补

  • 全排列与字典序

    全排列 递归实现全排列; 首先来说递归算法实现全排列: 例如,对于{1,2,3,4}的例子进行全排列,其可以分解...

  • 全排列

    求全排列最简单的就是递归了123 的全排列共有 6 个, 123 的全排列等于以 1 开头 23 的全排列, 加上...

  • 全排列

    题目 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排...

  • 全排列

    递归的版本image.png

网友评论

      本文标题:全排列 (python)

      本文链接:https://www.haomeiwen.com/subject/jexedxtx.html