iOS中排列组合算法的使用小结-创新互联

前言

成都创新互联为企业级客户提高一站式互联网+设计服务,主要包括成都网站设计、网站制作、成都app软件开发公司重庆小程序开发公司、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。 

最近在项目中用到了排列组合计算,虽然比较简单,但是整个学习过程还是要记录下来的,以便以后可以吸取经验。

一般来说,排列组合就等于搜索。

注意点:

1.去重复:规定子集顺序必须升序;

2.候选数组的结果处理。必须深拷贝,否则最后的结果集里全是空的(加了一堆指针)。

3.在写递归的时候(DFS:深度优先搜索),思路是先把以 1 开头的都找出来,再把 2 开头的都找出来 …… 所有在递归之前做过的事情,之后都要把它抹回来。递归做的事情能一句话描述清楚。递归就是不断地把规模变小,但是都做的一件事情。

方法如下:

最开始的思路是用阶乘去解决排列组合的问题,所以就想到了递归。

long arithmetic(int n)
{
 if (n>1) {
 return n*arithmetic(n-1);
 }else if (n == 1){
 return 1;
 }else{
 return 1;
 }
}

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:iOS中排列组合算法的使用小结-创新互联
文章路径:http://pwwzsj.com/article/djgdsi.html