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

网站建设制作价格吐槽做网站

网站建设制作价格,吐槽做网站,四川网站建设找珊瑚云,南宁网络推广方案题目链接&#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/98259/

相关文章:

  • 服装网站建设策划书可行性分析家具网站建设比较好的
  • 十堰做网站最好的公司深圳生活免费信息网
  • 余姚做网站公司义乌企业网站搭建首选
  • 徐州企业网站排名优化长沙工程招标公司
  • 网站站长工具php网站开发的成功经历
  • 温州网站建设方案托管营销网站建设的价格
  • 免费的作文网站滑县网站建设哪家便宜
  • 网站开发周志淘宝网站建设没法上传怎么办
  • 怎做连接网站临沂建设企业网站
  • 专做网站网站的流量是怎么回事
  • 广东网站建设报价如何小程序app定制
  • wordpress virtue整站优化哪家专业
  • 电子商务网站建设实训报告用jsp做网站一般会用到什么
  • 免费素材网站排行榜网站原创内容
  • 网站前台架构建设个人网银登录
  • 哈尔滨建站在线咨询二手域名交易平台
  • 基础建站如何提升和优化免费开通的网站
  • 网站的优化从几个方面产品宣传短视频制作
  • 建设监督网站首页wordpress简约模板下载
  • 合肥建网站公司地址邯郸研情网络科技有限公司
  • 安国手机网站设计网站301重定向检测
  • 刚刚石家庄发生大事了杭州网站优化推荐
  • dw怎样建设网站盘县网站开发
  • 麒贺丝网做的网站优化wordpress后台管理界面美化
  • 如何做网站资讯动漫制作专业学校有哪些
  • 过年做哪个网站能致富国外公司建站系统
  • 网站建设的域名续费如何在jsp上做网站页面
  • 坑梓网站建设怎么样品牌网站建设方案
  • 移动网站建设生要女深圳注册公司需要租赁凭证吗
  • 珠海北京网站建设东莞网络营销策划有限公司