对于将有n个数的数组arr进行全排列,所采用的思想是递归加回溯。
对n个元素进行全排列,将第一个元素依次和之后的元素互换,将第一个元素确定下来
对之后的n-1个元素进行全排列,**(可以看做是第一步的子问题)**采用递归实现
将互换后的元素重新换回来,以防止数组元素的顺序被打乱**(回溯思想)**
具体的实现可以看下面的函数,(可以直接使用)
测试用例:
三、数组元素的排列组合
===============
有了上面对从n个元素的数组arr中取出m个数(不考虑顺序且不重复)和对n个数进行全排列的理解,那么对于从n个数中取出m个数实现排列的问题,可以看成是上面两个问题的结合体。
按照数学中的思路,我们可以先从n个元素的数组中选取出m个元素,之后对这m个元素进行全排列即可。
实现的方法如下:
测试用例:
引领完成Docker的安装、部署、管理和扩展,让其经历从测试到生产的整个开发生命周期,深入了解Docker适用于什么场景。并且这本Docker的学习权威指南介绍了其组件的基础知识,然后用Docker构建容器和服务来完成各种任务:利用Docker为新项目建立测试环境,演示如何使用持续集成的工作流集成Docker,如何构建应用程序服务和平台,如何使用Docker的API,如何扩展Docker。
总共包含了:简介、安装Docker、Docker入门、使用Docker镜像和仓库、在测试中使用Docker、使用Docker构建服务、使用Fig编配Docke、使用Docker API、获得帮助和对Docker进行改进等9个章节的知识。
关于阿里内部都在强烈推荐使用的“K8S+Docker学习指南”—《深入浅出Kubernetes:理论+实战》、《权威指南-第一本Docker书》,看完之后两个字形容,爱了爱了!
如果你也爱了,点击这里免费下载:“K8S+Docker”学习指南