kiseyzed 发表于 2022-7-28 17:19

来看校长爷爷跳孔雀舞,另类的全排列算法

本帖最后由 kiseyzed 于 2022-7-28 17:25 编辑

class Solution:
    result = []

    def solve(self, str, choose=[]):
      if len(str) < 2:
            return
      dump_str = str.copy()
      for s in str:
            dump_str.remove(s)
            choose.append(s)
            # print(choose, dump_str)
            if len(dump_str) == 2:
                print("".join(choose + dump_str.copy()))
                dump_str.reverse()
                print("".join(choose + dump_str.copy()))
            else:
                self.solve(dump_str, choose)
            dump_str = str.copy()
            choose.pop()


if __name__ == "__main__":
    str = "我给校长爷爷跳了支孔雀舞"
    str = list(str)
    Solution().solve(str)

虽然时空复杂度上有点那啥



很喜欢程序说的一句话:校长,爷爷我给孔雀跳了支舞

sam喵喵 发表于 2022-7-28 17:33

感谢分享!感觉此风不可长

第八根电线杆 发表于 2022-7-28 19:01

不敢看那不敢看

慕容语嫣 发表于 2022-7-28 20:49

想起个看到的句子 校长给爷爷我跳了支孔雀舞

n_g 发表于 2022-7-28 21:11

虽然是全排列,但也要以词为单位吧?

0xchang 发表于 2022-7-28 21:35

有点看不明白

王月半 发表于 2022-7-28 22:17

这个有啥用?

lg414259346 发表于 2022-7-28 22:30

好东西,齐分享
页: [1]
查看完整版本: 来看校长爷爷跳孔雀舞,另类的全排列算法