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

在线网站做气泡图网站建设公司怎样选

在线网站做气泡图,网站建设公司怎样选,为哈尔滨网页设计制作,查询网站相关网址个人主页:元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 http://t.csdnimg.cn/6AbpV 数据结构与算法 http://t.csdnimg.cn/hKh2l 前言:这个专栏主要讲述递归递归、搜索与回…

个人主页:元清加油_【C++】,【C语言】,【数据结构与算法】-CSDN博客

个人专栏

力扣递归算法题

 http://t.csdnimg.cn/yUl2I   

【C++】    

 http://t.csdnimg.cn/6AbpV 

数据结构与算法

 http://t.csdnimg.cn/hKh2l


前言:这个专栏主要讲述递归递归、搜索与回溯算法,所以下面题目主要也是这些算法做的  

我讲述题目会把讲解部分分为3个部分:
1、题目解析

2、算法原理思路讲解

3、代码实现


字母大小写全排列

题目链接:字母大小写全排列

题目

给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。

返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。

示例 1:

输入:s = "a1b2"
输出:["a1b2", "a1B2", "A1b2", "A1B2"]

示例 2:

输入: s = "3z4"
输出: ["3z4","3Z4"]

提示:

  • 1 <= s.length <= 12
  • s 由小写英文字母、大写英文字母和数字组成

解法

题目解析

  • 题目的意思非常简单,给定一个字符串 s 
  • 通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。
  • 返回 所有可能得到的字符串集合 ,以 任意顺序 返回输出。

示例 1:

输入:s = "a1b2"
输出:["a1b2", "a1B2", "A1b2", "A1B2"]

算法原理思路讲解 

只需要对英⽂字⺟进⾏处理,处理每个元素时存在三种情况
  1. 不进⾏处理;
  2. 若当前字⺟是英⽂字⺟并且是⼤写,将其修改为⼩写;
  3. 若当前字⺟是英⽂字⺟并且是⼩写,将其修改为⼤写。

一、画出决策树

决策树就是我们后面设计函数的思路


二、设计代码

(1)全局变量

   string path;vector<string> ret;
  • ret(存储转变大小写,获得一个个新的字符串)
  • path(组合的路径记录)

(2)设计递归函数

void dfs(string s, int pos);  // 表示现在要处理的元素的下标
  • 参数:s(字符串),pos(当前要处理的元素下标);
  • 返回值:无;
  • 函数作用:查找所有可能的字符串集合,并将其记录在答案列表。

从前往后按序进⾏递归,递归流程如下
  1. 递归结束条件:当前需要处理的元素下标越界,表⽰处理完毕,记录当前状态并返回;
  2. 判断当前元素是否为数字,若是,对当前元素不进⾏任何处理,直接递归下⼀位元素;
  3. 判断当前元素是否为⼩写字⺟,若是,将其修改为⼤写字⺟并递归下⼀个元素,递归结束时撤销修改操作;
  4. 判断当前元素是否为⼤写字⺟,若是,将其修改为⼩写字⺟并递归下⼀个元素,递归结束时撤销修改操作;

以上思路讲解完毕,大家可以自己做一下了


代码实现

  • 时间复杂度:O(n×2^{n}),其中 n 表示字符串的长度。递归深度最多为 n,所有可能的递归子状态最多为 2^{n}个,每次个子状态的搜索时间为 O(n),因此时间复杂度为 O(n×2^{n})。
  • 空间复杂度:O(n×2^{n})。递归深度最多为 n,。队列中的元素数目最多为 2^{n} 个,每次个子状态的搜索时间为 O(n),因此空间复杂度为 O(n×2^{n}) 。
class Solution {
public:string path;vector<string> ret;void dfs(string s, int pos)  // 表示现在要处理的元素的下标{if (path.size() == s.size()){ret.push_back(path);return;}if (s[pos] >= '0' && s[pos] <= '9'){path.push_back(s[pos]);dfs(s, pos + 1);path.pop_back();}else{if (s[pos] >= 'a' && s[pos] <= 'z'){path.push_back(s[pos]);dfs(s, pos + 1);path.pop_back();path.push_back(s[pos]-32);dfs(s, pos + 1);path.pop_back();}else{path.push_back(s[pos]);dfs(s, pos + 1);path.pop_back();path.push_back(s[pos] + 32);dfs(s, pos + 1);path.pop_back();}}}vector<string> letterCasePermutation(string s) {dfs(s, 0);return ret;}
};

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

相关文章:

  • 内部网站建设网站已经备案更换主机
  • 网站二级目录解析企业网站优化方案
  • 大学生网站建设小结百度给做网站公司
  • directadmin备份网站南通市住房和城乡建设局网站
  • 企业二级域名自助建站平台股票配资系统网站开发
  • seo百度点击软件大连做网站优化价格
  • 用vs做的网站怎么打开吗元气森林的网络营销方式
  • 新乡网站优化公司推荐wordpress layer
  • 南充网站建设天赐沧州网站
  • 东莞模板网站设计做网站的优势
  • 上海 网站公司镇赉县做网站的
  • 查网站流量查询工具全国网站开发赛
  • 网站后缀net国内网站建设网站排名
  • 西昌手机网站制作万象园网站建设与开发
  • 无锡网站制作优化做代金券的网站
  • 如何自己写一个网站东营网络科技有限公司
  • 网站开发与app差距网页游戏在线
  • 体育门户网站源码摩托车网站开发
  • 网站设计公司合肥WordPress音乐歌单播放器
  • 肇庆企业自助建站wordpress动图
  • 城乡建设网官方网站将自己做的网站用电脑发到网上
  • 蔬菜基地做网站合适吗百度网页怎么设置成电脑版
  • 在床上做很黄很暴力网站石家庄谷歌seo公司
  • 专业做网站建设做爰全过程免费的视频的网站
  • 网站专题教程做视频的软件模板下载网站有哪些
  • 网站屏蔽中国ipwordpress开放用户注册
  • 天津市市建设与管理局网站可以自己做网站赚钱吗
  • 抽奖网站怎么做沈阳黄页88企业名录
  • 网站效果图用什么做56做视频网站
  • 网站开发哈尔滨网站开发公司四川宜宾市网站建设公司