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

威海外贸网站建设多少钱成都做网站建设公司

威海外贸网站建设多少钱,成都做网站建设公司,网络营销策划案ppt,dedecms做的网站题目: 链接:剑指 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/298804/

相关文章:

  • 中国建设银行行网站免费做苗木的网站
  • 做网站的费用属于哪个科目湖南网站建设公司 找磐石网络一流
  • 能打开各种网站的浏览器公众号怎么制作好看的版面
  • 网站开发和软件开发含义wordpress附件分离
  • 曲靖网站设计微信公众号制作网站有哪些
  • 网站建设需求文档模版网站怎么才能上线
  • 亚马逊站外推广平台有哪些手机网站怎样做
  • 信阳做网站公司旅游网站建设怎么做
  • 长春火车站哪个区东莞网页优化
  • 网络公司如何建网站中国能源建设集团有限公司招标网
  • 交易平台网站怎么做广元市建设银行网站
  • 婚纱摄影网站建设公司wordpress卡死
  • vs2010做的网站公司网站开发实施方案
  • 北京网站制作培训机构WordPress網站放ICP
  • 案例网站模板_案例网网站关键词快排名
  • 学做吃的的网站天津网站制作的公司哪家好
  • 合肥营销网站建设公司橙色网站欣赏
  • 有没有做盗版电影网站犯罪的邀请推广app
  • 网站开发长春建站资讯
  • 做网站 源码大兴专注高端网站建设
  • 科讯网站发布文章梅州英文网站建设
  • 个人接单做网站的平台百度网盘官网下载
  • 哪里卖网站域名网站建设开源代码
  • fla可以做网站么新公司注册详细流程
  • 长沙网站制作大丰网站建设哪家好
  • 网站搭建论文ai建站工具
  • 购物网站怎么做项目简介荣耀借壳上市公司
  • 如何申请免费网站空间做网站租用数据库
  • 企业创建网站免费建站cms
  • 顺德网站建设方案在建设厅网站怎么办建造师延期