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

织梦网站做自动生成地图电子商务网站建设行情

织梦网站做自动生成地图,电子商务网站建设行情,音乐排行榜网页设计代码,公司手机网站建设题目 输入一个长度为 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/814897/

相关文章:

  • 做网站推广员图片处理问题淄博网站制作定制品牌
  • 西安网站开发公司排名中国建设银行网站色彩
  • app哪个网站开发好太原网站建设设计
  • 做网站的什么公司最好网站备案下来以后怎么做网页
  • 学校网站设计图片互联网优化
  • 做soho 怎么建立网站wordpress mnews主题
  • 白城网站建设wordpress页面结构
  • 合肥网站设计建设一站式网站建设 t云
  • 网站制作平台建设全网营销代运营公司
  • 服务器建网站教程域名是企业的网上商标
  • 电商网站开发报价单wordpress 获取摘要
  • 一般在什么网站上做电子请帖品牌策划方案ppt模板
  • 网页设计模板网站图片湖南长沙特色简介
  • 外贸网站推广收费艺考培训
  • 韩国情侣网站模板网站怎么做百度优化
  • 关于网站开发市问卷调查科技感的网站
  • 网站如何添加统计代码是什么意思网站建设需要什么硬件
  • 没建网站 备案wordpress英文主题哪个好用
  • 广州网站建设公司招聘wordpress 后台加入链接后_网站显示是标签_不是链接
  • 大厂县网站建设或SEO优化学网站开发容易吗
  • 青海省交通建设工程质量监督站网站诸城做网站建设的
  • 成品软件源码网站华强北 网站建设
  • 乐从容桂网站建设汕头站扩建效果图
  • 佛山网站建设wantsun游戏网站如何做
  • 网站建设的书 豆瓣wordpress模板制作兼职
  • 网站一般用什么软件做的广州网站设计开发招聘
  • 怎么建设自己的卡盟网站杭州 做网站
  • 上海高端网站建设定制设置网站标签
  • 网站被k文章修改自贡市建设局网站
  • 摄影看图网站WordPress mip 评论框