已知长度为n的字符串,获取所有可能的全排序 n!

def test(arr):length = len(arr)if length<=1:return arrres = []for i in range(length):temp = list.copy(arr)del(temp[i])res += [arr[i]+j for j in test(temp)]return resprint(test(['a','b','c','d']))

  result:

G:\python\study>python hello.py
['abcd', 'abdc', 'acbd', 'acdb', 'adbc', 'adcb', 'bacd', 'badc', 'bcad', 'bcda', 'bdac', 'bdca', 'cabd', 'cadb', 'cbad', 'cbda', 'cdab', 'cdba', 'dabc', 'dacb', 'dbac', 'dbca', 'dcab', 'dcba']

输出k个的排列组合,k不大于字符串长度 n!/(n-k)!

def test(arr,k):length = len(arr)if k<=1:return arrres = []for i in range(length):temp = list.copy(arr)del(temp[i])res += [arr[i]+j for j in test(temp,k-1)]return resprint(test(['a','b','c','d'],2))

  result:

G:\python\study>python hello.py
['ab', 'ac', 'ad', 'ba', 'bc', 'bd', 'ca', 'cb', 'cd', 'da', 'db', 'dc']

转载于:https://www.cnblogs.com/cshunter/p/7381071.html

获取字符串全排列 或者 只输出k个的组合相关推荐

  1. C语言(CED)多组字符串匹配,输出所有重复出现的字符串,多次重复出现的只输出一次就好。

    最近遇到一道题目:多组字符串匹配,输出所有重复出现的字符串,多次重复出现的只输出一次就好. 举个例子: input:qwer qwer sdfgh output:qwer 题意大致就是这样,下面给出我 ...

  2. 算法题:在一个字符串中找到只出现一次的字符。如输入abaccdeeff,则输出bd。

    今天的算法学习还是和字符串有关,这个题目据说是以前的某公司面试的笔试题目.题目意思就是说,在一个字符串中找到只出现了一次的那些字符,并且输出来. 作为非IT的我,平时使用Matlab比较多.不是科班出 ...

  3. C语言_输出字符串和获取字符串

    输出字符串和获取字符串 01--输出字符串 使用puts函数来输出字符串 使用printf函数来输出字符串 通过puts函数和printf函数都能够实现字符串输出 02--获取字符串 使用scanf函 ...

  4. C语言基础之4:字符串和格式化输入/输出

    Tips1 函数:strlen() 关键字:const 字符串 如何创建.存储字符串 如何使用strlen()函数获取字符串的长度 用C预处理器指令#define和ANSIC的const修饰符创建符号 ...

  5. C语言学习(四)字符串和格式化输入/输出

    程序清单4.1 talkback.c程序 // talkback.c -- 演示与用户交互 #include <stdio.h> #include <string.h> // ...

  6. Go 学习笔记(31)— 字符串 string、字符 rune、字节 byte、UTF-8 和 Unicode 区别以及获取字符串长度

    1. 字符串 string 类型 Go 语言中字符串的内部实现使用 UTF-8 编码,通过 rune 类型,可以方便地对每个 UTF-8 字符进行访问.当然, Go 语言也支持按照传统的 ASCII ...

  7. ++递归 字符串全排列_字符串/链表问题合集

    1.全排列 可视作一个所有元素交换的问题 # 输入一个字符串,打印出该字符串中字符的所有排列. # 例如输入字符串abc,则输出由字符a.b.c 所能排列出来的所有字符串 # abc.acb.bac. ...

  8. python统计字符在文件中出现的次数_python字符串中字符出现次数(python获取字符串个数)...

    今天要说的是Python的字符串函数还是很方便的,只需要调用 count() 方法即可. 最近,我在一个网站上看到了一个自然语言处理课程.我详细解释了一些方法的使用,用例很容易理解,所以我想通过我的博 ...

  9. 第4章 字符串和格式化输入/输出

    学习笔记--<C Primer Plus> 第4章 字符串和格式化输入/输出 4.1 前导程序 4.2 字符串简介 4.2.1 char 类型数组和 null 字符 4.2.2 使用字符串 ...

最新文章

  1. java sort reverse_Java ArrayList sort() 方法
  2. Handler Bundle Runnable
  3. 中国农民丰收节交易会全国贫困地区农产品产销对接行动
  4. ollyice的学习
  5. 认真的吗?过户逝者手机号码却需双方本人到场 中国移动回应...
  6. echarts 其他样式 折线 重叠_echarts 折线图 areaStyle颜色重叠问题
  7. android车机系统刷机_让我们盘点一下在整个车联网领域,有哪几类玩家?
  8. matlab计算macd_[原创]基于MATLAB的一个简单的交易策略(基于MACD)的Matlab代码
  9. 分布式系统如何保证数据一致性
  10. 如何使用 Python 将 Nifti 文件转换为 Dicom 系列
  11. HTML辅助下载个人官网源码+UI非常不错
  12. 关于find命令-perm 的用法
  13. PostGIS 快速入门
  14. Java、JSP(二手车)交易管理系统毕业设计论文
  15. OSChina 周六乱弹 ——马云要入房市,淘宝个房子?
  16. 解决Windows Server 2012 R2 无法安装VMware Tool
  17. k-means算法与Python实践
  18. 【模型检测学习笔记】6:线性时序性质(Linear-time Properties)
  19. 前端菜鸟必学!less使用基础讲解
  20. 小程序开发总结3:swiper滑块视图

热门文章

  1. window.location.href如何多次请求_测试同学必会系列之如何进行幂等性的测试
  2. JavaScript数据类型之数据类型之间的转换(6)
  3. Python源码深度解析—引用计数
  4. C++ 最大堆最小堆与push_heap pop_heap
  5. C++通过文件读写保存用户注册登录信息
  6. bzoj 3036: 绿豆蛙的归宿(Dp)
  7. bzoj 1711: [Usaco2007 Open]Dining吃饭(最大流)
  8. Ubuntu不能挂载移动硬盘问题Error mounting /dev/sda1 at /media/XXXX: Command-line `mount -t ntfs -o
  9. docker从C盘迁移到E盘
  10. Mask-RCNN校验结果计算mAP值