【计蒜客系列】挑战难题139:字符全排列
来源:互联网 发布:北京交通大学知行bt 编辑:程序博客网 时间:2024/06/05 18:11
题目来源:计蒜客
(这题的测试用例太坑,代码参考这位神)
要求:
输入一个可能含有重复字符的字符串,打印出该字符串中所有字符的全排列,输出时以字典序顺序输出,用空格分隔。
输入数据是一个长度不超过10个字符的字符串,以逗号结尾。
样例输出
abc,样例输出
abc acb bac bca cab cba
#include<iostream>#include<string>#include<set>using namespace std;string s;int n;set<string> res;void dfs(int i){ if(i == n){ return; } res.insert(s); for(int j = i; j < n; ++j){ swap(s[i], s[j]); dfs(i + 1); swap(s[i], s[j]); }}int main(){ cin >> s; n = s.length() - 1; s.resize(n); dfs(0); set<string>::iterator it = res.begin(); cout << *it; for(++it; it != res.end(); ++it){ cout << " " << *it; } cout << endl;}
0 0
- 【计蒜客系列】挑战难题139:字符全排列
- 计蒜客 难题题库 139 字符全排列
- 【计蒜客系列】挑战难题398:字符$出现的次数
- 计蒜客-字符全排列
- 【计蒜客系列】挑战难题2:整除问题
- 【计蒜客系列】挑战难题3:判断质数
- 【计蒜客系列】挑战难题5:矩阵翻转
- 【计蒜客系列】挑战难题6:泥塑课
- 【计蒜客系列】挑战难题8:字符串长度
- 【计蒜客系列】挑战难题16:爬楼梯
- 【计蒜客系列】挑战难题18:跳跃游戏
- 【计蒜客系列】挑战难题19:加一
- 【计蒜客系列】挑战难题24:函数规律
- 【计蒜客系列】挑战难题26:等差数列
- 【计蒜客系列】挑战难题44:数正方形
- 【计蒜客系列】挑战难题29:奇异家庭
- 【计蒜客系列】挑战难题1:A+B+C问题
- 【计蒜客系列】挑战难题4:简单斐波那契
- thinkphp join联表查询
- leetcode.122.Best Time to Buy and Sell Stock II
- 养成写博客的习惯
- 概念了解:(二)XML
- Android使用socket.io的connect事件没有回调
- 【计蒜客系列】挑战难题139:字符全排列
- pacman常用命令
- 天地图切图
- 查看系统的版本或者内核号
- Intent传递复杂list简单方式
- 配置java环境
- 办公室装修的五要四不要
- ZooKeeper一致性原理
- 【模板】 莫队算法