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

asp.net网站项目建设wordpress控制台

asp.net网站项目建设,wordpress控制台,公司网站建设需要注意哪些内容,群晖ds218 做网站题目: 链接:剑指 Offer 38. 字符串的排列 难度:中等 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s “abc” 输出&…

题目:

链接:剑指 Offer 38. 字符串的排列

难度:中等

输入一个字符串,打印出该字符串中字符的所有排列。

你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。

示例:

输入:s = “abc”
输出:[“abc”,“acb”,“bac”,“bca”,“cab”,“cba”]

限制:

  • 1 <= s 的长度 <= 8

回溯法:

本题与LeetCode 47. 全排列 II基本相同,详细解析看这篇回溯算法秒杀所有排列/组合/子集问题,这类题型通杀。

代码(剑指 Offer 38. 字符串的排列):

class Solution {
public:vector<string> res;string track;  // 全局遍历路径vector<bool> used;  // 遍历过程中字符串s每个字符是否在路径中已使用vector<string> permutation(string s) {used = vector<bool>(s.size(), false);sort(s.begin(), s.end());  // 先排序,是为了让重复字符相邻backTrack(s);return res;}void backTrack(string& s) {if(track.size() == s.size()) {  // 一个完整的排列结果加入答案中res.emplace_back(track);return;}for(int i = 0; i < s.size(); i++){if(used[i]) continue;  // 已经在路径中的字符不再参与if(i > 0 && s[i] == s[i - 1] && !used[i - 1]) continue;  // 剪枝,固定重复的字符在排列中的相对位置track += s[i];used[i] = true;backTrack(s);  // 进入下一层决策树track.pop_back();  // 回溯used[i] = false;}}
};

代码(LeetCode 47. 全排列 II):

class Solution {
public:vector<vector<int>> res;vector<int> track;vector<bool> used;vector<vector<int>> permuteUnique(vector<int>& nums) {used.resize(nums.size(), false);sort(nums.begin(), nums.end());backTrack(nums);return res;}void backTrack(vector<int>& nums) {if(track.size() == nums.size()) {res.emplace_back(track);return;}for(int i = 0; i < nums.size(); i++){if(used[i]) continue;if(i > 0 && nums[i] == nums[i - 1] && !used[i - 1]) continue;track.emplace_back(nums[i]);used[i] = true;backTrack(nums);track.pop_back();used[i] = false;}}
};

时间复杂度O(N * N!)。全部的排列有O(N!)个,每个排列平均需要O(N)的时间。
空间复杂度O(N)。

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

相关文章:

  • google如何提交网站wordpress美化文章内相册
  • 百度网站优化外包轮播网站
  • 在线考试类网站怎么做网站建设公司石家庄
  • 大气蓝色wap网站模板中国最大的外贸平台
  • 该网站正在建设2015做那些网站致富
  • 网站建设一般要多大空间网站上传不了wordpress
  • 福州市城乡建设局网站好的响应式网站有哪些
  • 商务网站创建经费预算app网站开发协议
  • 中国手机网站大全推广网站刷排名
  • 凡科建站的建站后如何管理宁波网站设计制作
  • 直播网站开发核心技术成都公司注册流程及需要的材料
  • 郑州网站推广流程wordpress邮箱163
  • 如何做盗版视频网站优化设计六年级下册数学答案
  • 淮安网站建设公司电话网站推广公司兴田德润在哪儿
  • swoole怎么做直播网站温州seo推广外包
  • 公司怎么建网站做推广自己建一个网站做电子商务
  • 做短视频的网站都有哪些河南平台网站建设
  • 大型网站开发方案山西建筑网站设计设计
  • 专门做海外服装购的网站网站备案审核流程图
  • 无限容量网站做网站要学习什么
  • 珠海响应式网站建设公司小企业做网站有没有用
  • 企业网站建设高端品牌西安招聘网
  • 网站建设详细需求文档网页制作的基本步骤和教程
  • 烟台网站建设精通臻动传媒广州网站制作知名 乐云践新
  • 广州住建网站东莞公司网上推广
  • 高端定制网站做炫光素材的网站
  • 网站多语言界面建设方案简洁 网站模板
  • 做网站的图片要求大小wordpress注册邮箱设置
  • 多语言建设外贸网站制作照片的软件app
  • 网站建设手机端管网网上销售平台怎么做