文档章节

基于PHP的排列组合(如输入a,b,c 输出他们的全部组合)

w
 waterme
发布于 2016/07/09 23:29
字数 265
阅读 40
收藏 0

方法一:
1、假设初始时只有一个字母a,则它的全排列就是a
2、再a的基础上在来一个字母b,则可以将b放在a的前面或后面,这样就有两种排序(a,b)或(b,a)
3、再2的基础上再来一个字母c则c可以放在(a,b)的前中后三个位置(即分别与a,b,c进行交换)形成三个排列(c,b,a)(a,c,b)(a,b,c),也可以放在(b,a)的三个 位置形成三个排列(c,b,a)(b,c,a)(b,a,c)。至此所有字母都已排列完毕。
总结:此处采用的插入排序+递归的思想

//function swap(&a,&b){
// t= a;
// a= b;
// b= t;
//}

function pailiezuhe( arr, begin){
if($begin==0) {

    print_r($arr);
    echo "</br>";
}
if($begin >= count($arr)) return ;
pailiezuhe($arr,$begin+1);
for($i = $begin-1;$i>=0;$i--){
    $t = $arr[$begin];
    $arr[$begin] = $arr[$i];
    $arr[$i] = $t;
    print_r($arr);
    echo "</br>";
    pailiezuhe($arr,$begin +1);
    $t = $arr[$begin];
    $arr[$begin] = $arr[$i];
    $arr[$i] = $t;
}

}
“`

本文转载自:http://blog.csdn.net/feihongxueni/article/details/50973983

w
粉丝 0
博文 27
码字总数 0
作品 0
海淀
私信 提问
LeetCode算法题-Number of Boomerangs(Java实现)

这是悦乐书的第231次更新,第244篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第98题(顺位题号是447)。给定平面中的n个点都是成对不同的,“回旋镖”是点(i,j,k)的元组...

小川94
01/15
0
0
随机排列组合的输出

在算法的书本上描述了这样的一个问题:有3个白球,4个黑球,5个蓝球,请输出一共有多少种组合,与此同时,输出每一种组合的方式。这个问题,我一直都在思考,虽然我知道早已经有了答案。递归...

技术小胖子
2017/11/08
0
0
小朋友学奥数(12):组合

一、定义 从n个不同的元素中,任取m(m≤n)个元素为一组,叫作从n个不同元素中取出m个元素的一个组合。 二、例题 从甲、乙、丙3名同学中选出2名去参加一项活动,有多少种不同的选法? 分析:...

翡翠森林Z
2017/11/29
0
0
[KDD16] 微软Bing ads 2016年公布的推荐算法 (Deep Crossing)

今天我们来看一下Bing搜索广告2016年公布的算法。原文在这里http://www.kdd.org/kdd2016/papers/files/adf0975-shanA.pdf 。这类神经网络不同于我们之前看的YouTube的推荐算法,侧重点是完全...

陈宇飞
2018/01/27
0
0
探索Jetpack:WorkManager API中链的力量

原文地址:https://android.jlelse.eu/exploring-jetpack-the-power-of-chains-in-the-workmanager-apis-30509ca4b2c 上一篇文章我们讨论了WorkManager API如何工作以及如何使用这些API来安排......

小菜鸟程序媛
2018/05/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Disable Autostart of MySQL Server on Ubuntu

OSC Markdown Editer 真香,笔记一篇,懒得转中文,如有表述问题,请不吝指出,先谢为敬! OS: Ubuntu 19.04 When the MySQL server is installed, it automatically started with the OS. I...

Iridium
15分钟前
0
0
OpenStack RDO + S3

Packstack(RDO) installation "sync db timeout" issue version: openstack-packstack-13.0.0-0.1.0rc1.el7.noarchopenstack-packstack-puppet-13.0.0-0.1.0rc1.el7.noarch add timeout =>......

Firxiao
17分钟前
0
0
java运算符的优先级

https://www.cnblogs.com/zjfjava/p/5996666.html

南桥北木
22分钟前
0
0
线性代数的静态观-向量空间(一)

向量是一个具有大小和方向的量,因此只要大小与方向相同则向量也相同,从而向量可以自由平行移动。 向量与点不同,它反映的是从A到B的位移(既包含位移的方向又包含位移的大小),而点仅仅是...

FAT_mt
23分钟前
0
0
Redis缓存穿透、缓存雪崩和缓存击穿

Redis缓存穿透、缓存雪崩 缓存雪崩,是指在某一个时间段,缓存集中过期失效。 产生雪崩的原因之一,比如在写本文的时候,马上就要到双十二零点,很快就会迎来一波抢购,这波商品时间比较集中...

architect刘源源
45分钟前
10
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部