胡凡算法之——全排列问题
首先来看一下关于全排列的思想,很明显就是一个递归问题,后面的数是前面没有出现过的数即可。
具体代码如下:
#include<iostream>
using namespace std;
const int maxn=11;
int n,P[maxn],hashTable[maxn]={false};//用P去存数字,hahTable去检验一个数字是否已经出现过;
void generateP(int index)
{if(index == n+1){ //递归边界,已经处理好1-n for(int i=1;i<=n;i++){cout<<P[i]; //输出即可 }cout<<endl;return;} for(int x=1;x<=n;x++){if(hashTable[x] == false){ //若是false,则代表x还没用 P[index]=x;hashTable[x]=true;generateP(index+1); //最精华的一步,递归下一位; hashTable[x] = false;//最后将下次要用的全部清掉,方便使用; }}
} int main()
{n=3;generateP(1);return 0;
}
打印之后是一到三的全排列,若有其他需要可在主函数直接更改;
胡凡算法之——全排列问题相关推荐
- [code] PTA 胡凡算法笔记 DAY003
文章目录 前言 题目 B1001 害死人不偿命的(3n+1猜想) B1002 写出这个数[误刷] B1011 A+B和C B1016 部分A+B B1026 程序运行时间 小结 前言 之前为了准备PT ...
- 胡凡算法之——快速幂
关于快速幂的两种方法: 1.递归算法:只要掌握一个精髓: 递归相对来说比较好理解:代码如下: typedef long long LL; //求a^b % m ,递归写法:LL binaryPow(L ...
- [code] 胡凡算法笔记 DAY004
文章目录 题目 B1046 B1008 B1012 小结 题目 B1046 题意解读 如题平局不计分,猜对对方记一分. 思路 就是简单的按规则来,平局不计分.猜对了给对方积一分. Code in C+ ...
- 胡凡算法笔记第二章摘录
目录 2.2顺序结构 2.3选择结构 2.4循环结构 2.5数组 2.6函数 2.7指针 2.8结构体 2.9 补充 2.10 黑盒测试 2.2顺序结构 1.开方sqrt 平方pow 计算e的x次方e ...
- [code] PTA 胡凡算法笔记 DAY005
文章目录 题目 B1018 题目 A1042 小结 周五刷了一个小时结果只刷了一题多一点,时间也有点晚了,blog就没更新.然后周六继续周五没完成的,看了一下逻辑有点混乱没继续. 题目 B1018 题 ...
- [code] PTA 胡凡算法笔记 DAY028
文章目录 题目A1037 Magic Coupon 题目A1067 Sort with Swap(0, i) 小结 题目A1037 Magic Coupon 题意 根据输入的奖券和产品情况,计算出能获 ...
- [code] PTA 胡凡算法笔记 DAY006
文章目录 题目 A1046 题目 A1065 小结 题目 A1046 题意 简单的环,计算最小距离.这里要注意不要暴力超时. 思路 这里我开始的暴力方法导致超时了,然后看解析,这里的做法主要是先将结果 ...
- [code] PTA胡凡算法笔记 DAY016
文章目录 题目A1035 Password 题目A1077 Kuchiguse 题目A1082 Read Number in Chinese 小结 题目A1035 Password 题意 将输入密码中 ...
- 胡凡 《算法笔记》 上机实战训练指南 3.1 简单模拟
胡凡 <算法笔记> 上机实战训练指南 3.1 持续更新中 , 菜鸡的刷题笔记- 大学到现在了还没咋好好刷过题,该push自己了- 文章目录 胡凡 <算法笔记> 上机实战训练指南 ...
最新文章
- [Windows]ping itsafe环境变量
- 两难!到底用 Spring BeanUtils 还是 Apache BeanUtils?
- RAID冗余技术的介绍AND实现
- linux 命令行 解密,解密Linux终端命令 学好Linux
- sort降序shell_排序之希尔排序(shell sort)
- 怎么更改wifi频段_手机wifi延迟高怎么办
- IDC:安全性、价格和低复杂性是企业采用SD-WAN的主要动因
- 20200926:(leetcode207周周赛题解(上))
- web.xml 总结
- Illustrator 教程,如何在 Ai 中创建一个新文档?
- 《算法第四版》环境搭建
- html设置表格列宽百 分比,WPS解决实现单页显示 高分辨率显示器百分之百比例下双页改单页方法...
- 如何用软件测试固态颗粒,【英睿达 BX500固态硬盘使用总结】颗粒|读写速度|写入测试|建议_摘要频道_什么值得买...
- 玩转Redis-8种数据淘汰策略及近似LRU、LFU原理
- 阿里云数据库设置ip白名单连接正式库详细步骤
- 玩吧公司,入职后的真实感受
- 全景图转换为天空盒图
- [精简]托福核心词汇29
- 独上高楼 望尽天涯路
- exit()和_exit()两个函数的区别
热门文章
- 网络运维工程师 ,需要掌握知识的总结。
- EAX、ECX、EDX、EBX寄存器的作用
- spotify歌曲下载_如何像真正的DJ一样让Spotify在歌曲之间进行淡入淡出
- PHP基础知识【大纲】
- 基于51,人体红外感应和RC522的门禁系统
- 【数据库内核】数据库核心技术演进之路
- 解决_使用大白菜软件安装纯净版win有预装软件的问题
- Too many re-renders. React limits the number of renderers to prevent an infinite loop...
- 谷歌浏览器设置打开新标签页为指定网页?
- CSS3 自定义动画(animation)