因为项目需求,要用到全排列,在此记录下来。全排列公式: f(n) = n! (n>=0)

此demo为,输入一个字符串,遍历字符串中每个字符,并组成一个新的字符串。通过递归算法,得到所有字符组成的字符串的所有可能。

static func allArrangementAlgorithm(text: String) -> [String] {

var allPermutation:[String] = []

guard text.characters.count == 1 else {

for n in 0..

let singleString: String = (text as NSString).substring(with: NSRange(location: n, length: 1))

let deleteSingleString: NSMutableString = NSMutableString.init(string: text)

deleteSingleString.deleteCharacters(in: NSRange(location: n, length: 1))

let sub:[String] = allArrangementAlgorithm(text: deleteSingleString as String)

for (_, value) in sub.enumerated() {

let strOfCombine = (singleString as String)+value

allPermutation.append(strOfCombine)

}

}

return allPermutation

}

allPermutation.append(text)

return allPermutation

}

python输入一个字符串、输出他的所以组合_Swift - 排列组合之全排列 (输入一个字符串,输出该字符串包含的字符的所有组合)...相关推荐

  1. python从键盘上输入一个字符串并输出该字符串_python练习:输入一个字符串,输出该字符串中字符的所有组合...

    题目 输入一个字符串,输出该字符串中字符的所有组合.例如abc,它的组合有a.b.c.ab.ac.bc.abc. 第一种思路 使用递归求解,可以考虑长度为n的字符串中m个字符的组合,设为C(n, m) ...

  2. 131-从键盘输入一个字符串,将其中的小写字母全部换成大写字母,然后输出到一个磁盘文件

    //131-从键盘输入一个字符串,将其中的小写字母全部换成大写字母,然后输出到一个磁盘文件"test"中保存.输入的字符串以!结束//这道题对我来说最重要的就是ch=getchar ...

  3. 编写一个程序,将某个位数不确定的正整数进行三位分节后输出(Python)

    编写一个程序,将某个位数不确定的正整数进行三位分节后输出(Python) 输入形式:用户在第一行输入一个正整数 输出形式:程序将这个正整数三位分节,并在下一行输出 样例输入:1234567 样例输出: ...

  4. 在python中输入10个整数并求出最大值_python练习题 :用户任意输入10个整数到列表中,然后由大到小排列并输出。...

    一:填空题: 1.python是一种面向_对象 __的高级语言. 2.python可以在多种平台运行,这体现了python的___可移植___特性. 3.python源代码被解释器转换后的格式为___ ...

  5. python输入多个数据存入列表_python怎么把input的值储存到一个列表

    python怎么把input的值储存到一个列表?下面给大家带来具体的方法: 通常输入的字符串需要分割处理,python使用split()函数进行分割. 例子:>>> x=input( ...

  6. python输入三个整数x、y、z、请把这三个数由小到大输出_输入三个整数x、y、z,请把这三个数由小到大输出...

    题目:输入三个整数x,y,z,请把这三个数由小到大输出. 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x> y则将x与y的值进行交换,然后再用x与z进行比较,如果x> ...

  7. 给定一个正整数n, 输出1到n的所有排列 如输入 3 输出 123, 132, 213, 231, 312, 321 (Java实现)

    package com.yijie.practice;import java.util.HashSet; import java.util.Scanner; import java.util.Set; ...

  8. 编写程序,从键盘输入 一个 英文字母(有若干行)。如果是大写字母,则输出它对应的小写字母;如果是小写字母,则输出它对应的大写字母。

    撰写人--软工二班--陈喜平 题目描述 编写程序,从键盘输入 一个 英文字母(有若干行).如果是大写字母,则输出它对应的小写字母:如果是小写字母,则输出它对应的大写字母. 输入 一个英文字母.(有多组 ...

  9. 给定一个不多于5位的正整数,判断它是几位数,并输出。 输入

    /给定一个不多于5位的正整数,判断它是几位数,并输出. 输入 一个不多于5位的正整数. 输出 输出正整数的位数,单独占一行. 样例输入 Copy 111 样例输出 Copy 3 来源/分类/ #inc ...

最新文章

  1. 全卷积目标检测:FCOS
  2. linux下软链接与硬链接
  3. laravel blade模板
  4. Win7 局域网内访问Sql2005
  5. 命令行上的narrowing(随着输入逐步减少备选项)工具
  6. 使用GRUNT压缩和合并js文件
  7. 4个超神工作表技巧,还不快学起来!
  8. 【语音识别基础】总有一天你会用到,嗯,没有公式~
  9. 删除链表倒数第N个节点
  10. linux ac 命令
  11. 大数据平台、从数仓 到 数据中台
  12. Php生成图片的大小单位是cm,php生成图片缩略图代码类
  13. Hibernate基础知识整理(三)
  14. 网站漏洞修复之metinfo SQL注入漏洞
  15. 求分子分母最大公约数c语言,怎么求两个分数的最大公约数?
  16. Docker(五)——Docker镜像仓库
  17. 计算机与u盘连接使用,u盘虽然与电脑连接,但是插上后却没有反应,这该如何解决?...
  18. 域名检测工具-免费老域名扫描软件下载
  19. 循序渐进实现仿QQ界面(三):界面调色与控件自绘
  20. spring boot清远旅游推荐网站的开发毕业设计-附源码211551

热门文章

  1. js求两圆交点_利用二项式通项公式求系数及综合运用(2)
  2. python 创建文件夹1003python 创建文件夹_在python中创建动态文件名
  3. 利用python将excel数据导入mySQL
  4. Python采集知乎小姐姐图片,打造颜颜值排行榜!
  5. Python中的TCP的客户端UDP学习----第一篇博客
  6. 微信内部浏览器私有接口 - WeixinJSBridge介绍
  7. 以post方式携窗体等参数向服务器发送请求 发出去的字节流 返回的内容
  8. VS2010 TFS
  9. JMS学习之ActiveMQ-简单使用
  10. Python中表示自然底数与浮点数精度(等效于MATLAB中eps)