当前位置: 首页 > news >正文

西安网站建设公司排扁平化网页设计图片

西安网站建设公司排,扁平化网页设计图片,wordpress导入error 500,我想接app纯注册推广单题目链接&#xff1a; 全排列https://www.nowcoder.com/share/jump/437195121692001512368 描述 给定一个由不同的小写字母组成的字符串&#xff0c;输出这个字符串的所有全排列。 我们假设对于小写字母有a < b < ... < y < z&#xff0c;而且给定的字符串中的字…

题目链接:

全排列icon-default.png?t=N6B9https://www.nowcoder.com/share/jump/437195121692001512368

描述

给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 我们假设对于小写字母有'a' < 'b' < ... < 'y' < 'z',而且给定的字符串中的字母已经按照从小到大的顺序排列。

输入描述:

输入只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。

输出描述:

输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的排列在前面。字母序如下定义: 已知S = s1s2...sk , T = t1t2...tk,则S < T 等价于,存在p (1 <= p <= k),使得 s1 = t1, s2 = t2, ..., sp - 1 = tp - 1, sp < tp成立。 每组样例输出结束后要再输出一个回车。

示例1

输入:

abc

输出:

abc
acb
bac
bca
cab
cba

方法一 递归:

思路:

  1. 定义递归函数 generatePermutations,其中参数 prefix 表示当前已生成的前缀,参数 remaining 表示剩余的字符。
  2. 如果剩余字符串只有一个字符,将前缀和剩余字符拼接输出。
  3. 否则,遍历剩余字符,分别将当前字符作为前缀的一部分,然后递归调用生成剩余部分的全排列。
  4. main 函数中,读入输入的字符串,调用递归函数生成全排列。

源代码:

#include<iostream>
using namespace std;// 递归函数,用于生成字符串的全排列
void generatePermutations(string prefix, string remaining) {if (remaining.size() == 1) {// 如果剩余字符串只有一个字符,将前缀和剩余字符拼接输出cout << prefix + remaining << endl;return;}// 遍历剩余字符,分别将当前字符作为前缀的一部分,继续递归生成全排列for (int i = 0; i < remaining.size(); i++) {string newPrefix = prefix + remaining[i]; // 当前字符作为前缀的一部分string newRemaining = remaining; // 拷贝剩余字符串newRemaining.erase(i, 1); // 删除当前字符,得到新的剩余字符串generatePermutations(newPrefix, newRemaining); // 递归调用生成全排列}
}int main() {string s;cin >> s; // 输入字符串generatePermutations("", s); // 调用递归函数生成全排列return 0;
}

方法二 使用内置全排列函数:

next_permutation 函数的作用:

  • next_permutation 是 C++ 标准库中的一个函数,用于生成给定序列的下一个排列,以字典序的方式。
  • 如果当前排列是字典序的最后一个排列,next_permutation 返回 false,否则返回 true 并生成下一个排列。
  • 在生成下一个排列时,会将当前排列修改为下一个排列。
  • next_permutation 函数接受两个迭代器作为参数,表示需要生成排列的范围。

源代码:

#include <iostream>
#include <algorithm> // 包含了 sort 和 next_permutation 函数
using namespace std;int main() {string s;while (cin >> s) { // 循环读取输入的字符串cout << s << endl; // 输出初始字符串sort(s.begin(), s.end()); // 将字符串按照字典序排序// 使用 next_permutation 生成剩余的全排列并输出for (; next_permutation(s.begin(), s.end());) {cout << s << endl;}cout << endl; // 每组样例输出结束后输出一个回车}return 0;
}

提交结果:

 

http://www.yayakq.cn/news/393488/

相关文章:

  • 彩票网站开发系统个人主页网站
  • 专门更新最新设计的网站定制旅游网站建设成都
  • 专业建设信息化网站资源宿迁装饰网站建设公司排名
  • 宁河集团网站建设集团网站开发
  • 玉环建设局网站识图找图
  • 公司电脑做网站澄迈网站制作
  • 漫画驿站网页设计图纸尺寸大小做介绍英文网站
  • 中山网站建设技术重庆的公需科目在哪个网站做
  • 网站建设的宗旨微信开发者工具打不开
  • 我有一个网站怎么做外贸六安网站建设公司
  • 网站建设中网页模板国外手机主题网站
  • 中国建设厅网站官方网站怎样做
  • 织梦网站发布的哪些产品和文章放在a文件可以吗h5页面用什么软件
  • 建设银行江门市新会网站站长工具seo综合查询pc
  • 徐州建站网页建设免费高清无专码区
  • 湖北省住房部城乡建设厅网站首页wordpress用户发文章
  • 权重较高网站做全球视频网站赚钱吗
  • 京东网站的公司全名公司网站如何做百度收录
  • 建什么网站可以长期盈利深圳有几个区分别是什么
  • 室内效果图网站公司网站注销
  • 好看的手机网站模板长沙房地产市场情况分析
  • 四川省住房与建设厅网站企业站群cms
  • 苏州网站开发费用详情网站口碑营销
  • 境外网站搭建邯郸网站设计注册
  • 网站主页流动图片怎么做深圳做自适应网站公司
  • 武穴建设网站福永网站设计
  • 房产这么做网站才多点击量外贸客户管理软件
  • 许昌做网站汉狮网络贵州住房建设厅网站
  • 淘宝网站维护域名注册网站查询工具
  • 定制网站开发报价单我想做一个网站怎么做