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

广东省公路建设有限公司网站怎么做网站流量

广东省公路建设有限公司网站,怎么做网站流量,wordpress目录说明,教学互动网站开发背景题目 输入一个长度为 n 字符串&#xff0c;打印出该字符串中字符的所有排列&#xff0c;你可以以任意顺序返回这个字符串数组。 例如输入字符串ABC,则输出由字符A,B,C所能排列出来的所有字符串ABC,ACB,BAC,BCA,CBA和CAB。 数据范围&#xff1a;n<10 要求&#xff1a;空间复…

题目


输入一个长度为 n 字符串,打印出该字符串中字符的所有排列,你可以以任意顺序返回这个字符串数组。
例如输入字符串ABC,则输出由字符A,B,C所能排列出来的所有字符串ABC,ACB,BAC,BCA,CBA和CAB。

数据范围:n<10

要求:空间复杂度 O(n!),时间复杂度 O(n!)

输入描述:输入一个字符串,长度不超过10,字符只包括大小写字母。

示例1

输入:
"ab"
返回值:
["ab","ba"]
说明:
返回["ba","ab"]也是正确的

示例2

输入:
"aab"
返回值:
["aab","aba","baa"]

示例3

输入:
"abc"
返回值:
["abc","acb","bac","bca","cab","cba"]

示例4

输入:
""
返回值:
[""]

思路


使用递归的思路,每次先交换一个字符(可以是自己),然后将这个字符固定,之后递归的将后面的字符进行一次全排列,最后记得每次递归完需要回溯,也就是将交换的字符还原。

另外原字符串中可能存在重复的字符,如“aab”,经过递归后会有重复的,所以可以使用set来保存结果,以达到去重的效果。

递归三件套:

  • 递归函数的功能:Permutation(int pos, string str), 表示固定字符串str的pos下标的字符str[pos]
  • 递归终止条件:当pos+1 == str.length()的时候,终止。完成了一次全排列。
  • 下一次递归:Permutation(pos+1, str), 很显然,下一次递归就是对字符串的下一个下标进行固定。

解答代码


#include <any>
#include <set>
#include <type_traits>
class Solution {
public:/*** @param str string字符串 * @return string字符串vector*/vector<string> Permutation(string str) {// write code herevector<string> ret{""};if (str.empty()) {return ret; }//用set去重set<string> no_repeat_ret;Permutation(0, str, no_repeat_ret);ret.assign(no_repeat_ret.begin(), no_repeat_ret.end());return ret;}void Permutation(int pos, string str, set<string>& no_repeat_ret) {if (pos+1 == str.length()) {// 递归终止条件:完成一次全排列no_repeat_ret.emplace(str);return;}for (int i = pos; i < str.length(); i++) {// 交换字符,固定一个字符swap(str[pos], str[i]);// 递归调用,对字符串的下一个下标进行固定Permutation(pos+1, str, no_repeat_ret);// 递归完需要回溯swap(str[pos], str[i]);}}
};
http://www.yayakq.cn/news/194909/

相关文章:

  • 网站代付系统怎么做wordpress 描述设为标题
  • 南浔区建设局 网站东莞工程建设监督服务平台
  • 南通网站建设团队什么人最需要建设网站
  • 工业设计网站哪个好用国外优秀人像摄影网站
  • 怎么防止网站被注册机贵阳建设银行网站
  • 做网站看好金石网络广阳区建设局网站
  • 个人备案做公司网站贵阳网站建设端觉
  • 域名注册服务网站外国风格网站建设官网
  • 如何增加网站会员wordpress tag生成的链接乱
  • 建设一个小说网站的步骤wordpress不能上传主题
  • 深圳做小程序网站开发网站建设制作公司都选万维科技
  • 国外网站发展建设apsx做的网站怎么发布
  • 泰安钢管网站建设ghost卸载wordpress
  • 网站内容编辑兼容模式网站错位
  • 东莞市企业网站制作平台网站规划分析的好处
  • 网站建设项目进度计划书购物车网站建设
  • 做网站云主机php网站的数据库在哪
  • 什么求职网站可以做几份简历网络服务器搭建与配置
  • 住房和城乡建设网站方案网站怎么做用户体验
  • 做房产网站有哪些网站建设的技巧
  • 手机网站建站教育模板长沙网站制作哪家专业
  • 织梦网站模板长沙企业推广
  • 有没有学做ppt发网站或论坛深圳办公室租金多少钱一平
  • 关于产品网站建设的问题广东seo加盟
  • 中国空间站航天员首次出舱泉州模板做网站
  • 做网站一定要用服务器吗设计工作室名字
  • html网站开发图片素材北京短视频制作
  • 北京网站备案注销大连招投标网官网
  • 郑州做网站公司排名保险网站建设平台
  • python 网站开发流程wordpress安装文件夹