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

网站开发需要那些技能中国工程建筑门户网站官网

网站开发需要那些技能,中国工程建筑门户网站官网,网络服务类型及其所采用的网络协议,163公司企业邮箱文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 面试题 08.08. 有重复字符串的排列组合 一、题目描述 有重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合。 二、测试用例 示例 1: 输入&#…

文章目录

  • 零、原题链接
  • 一、题目描述
  • 二、测试用例
  • 三、解题思路
  • 四、参考代码

零、原题链接


面试题 08.08. 有重复字符串的排列组合

一、题目描述

有重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合。

二、测试用例

示例 1:

 输入:S = "qqe"输出:["eqq","qeq","qqe"]

示例 2:

 输入:S = "ab"输出:["ab", "ba"]

提示:

字符都是英文字母。
字符串长度在[1, 9]之间。

三、解题思路

  1. 基本思路:
      使用回溯法,在利用散列表去重
  2. 具体思路:
    • 编写 dfs 函数
      • 如果字符串每个位置的元素都确定,则记录字符串到答案中。
      • 创建散列表
      • 确定第 k 个位置的字符,从第 k+1 到尾部选取一个字符进行交换
        • 如果散列表中存在该字符,表示重复,则跳过
        • 散列表记录该字符
        • 与第 k 个位置的字符交换
        • 递归确定第 k+1 个字符
        • 恢复状态
    • 调用 dfs 函数,返回结果。

四、参考代码

时间复杂度: O ( n ! ) \Omicron(n!) O(n!)【n 是字符串长度】
空间复杂度: O ( n ) \Omicron(n) O(n)

class Solution {
public:string str;vector<string> ans;void dfs(const int& k) {if (k == str.length()) {ans.emplace_back(str);return;}vector<bool> m(128, false);for (int i = k; i < str.length(); i++) {if (m[str[i]])continue;m[str[i]] = true;swap(str[k], str[i]);dfs(k+1);swap(str[k], str[i]);}}vector<string> permutation(string S) {str = S;dfs(0);return ans;}
};
http://www.dtcms.com/a/441509.html

相关文章:

  • 怎样做读书会网站wordpress 豆瓣 主题
  • 如何做好网站的建设与维护深圳 网站建设 公司
  • 浙江高端建设网站网站怎么改域名
  • wordpress建站详细教程视频现在公司一般用什么邮箱
  • 做外贸网站价位上海 企业网站建设
  • 东莞百度网站快速优化东莞物流网站设计公司
  • 宁夏建设厅网站首页深圳网站设计价格表
  • 行业网站建设方案免费ps软件网站
  • 网站整站优化公司做网站排名步骤
  • 成都电子商务网站河南网站备案代理
  • 君临天下游戏网站开发者东莞网络推广服务外包
  • 做阿里巴巴还是做网站好软件最全的软件商店
  • 建站费用明细网站怎样做移动端
  • 织梦建的网站在哪银行网站建设前期合同
  • 惠州微网站推广方案怎样建网上商城
  • fwa 网站 欣赏中国监理建设注册网站
  • 网站主页效果图佛山新网站制作渠道
  • 重庆建设厂招工信息网站做一普通网站需要多少钱
  • 做网站原型的软件中国空间站天宫课堂
  • 中山企业网站建设定制电商平台发展现状与趋势
  • 网站哪家做的比较好wordpress walker
  • 用织梦做的网站好用吗定制手机壳网站
  • 建设部网站电子政务wordpress设置登录可见
  • 中国建设银行甘肃省分行官网站湖南省郴州市旅游景点
  • 网站建设贰金手指下拉贰壹亿万网站
  • 广州网站设计十年乐云seo北京广告公司名录
  • 查询网站域名备案Wordpress上传文件权限
  • 狮岭做包包的网站展览馆展示设计
  • 公众号平台建设网站网站文章推广
  • 高端网站开发程莱芜博客网