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

简洁公司网站源码劳务公司网站建设

简洁公司网站源码,劳务公司网站建设,试用期工作总结,淄博 建设网站题目描述 解题思路: 这是一个深度优先遍历的题目,涉及到多路递归,下面通过画图和解析来分析这道题。 首先说到的是映射关系,那么我们就可以通过一个字符串数组来表示映射关系(字符串下标访问对应着数字映射到对应的…

题目描述

解题思路:

这是一个深度优先遍历的题目,涉及到多路递归,下面通过画图和解析来分析这道题。

首先说到的是映射关系,那么我们就可以通过一个字符串数组来表示映射关系(字符串下标访问对应着数字映射到对应的字符串)比如我们输入的是‘2’,那么通过A[2]就可以得到对应的字符串“abc”

string A[10]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};

我们可以将数字对应的字符串进行分层,然后通过递归来实现深度遍历,for循环来实现广度遍历,从而得到对应的组合。最后将排列组合用vector<string>&类型容器存储起来。

这题我们就拿“246”来举例,我们用level来表示层数,将映射出的字符串划分为0 1 2层,先进行深度遍历,一层一层的将单个字符进行拼接(注意这里拼接得到的字符串str不能使用引用,因为深度遍历完一层之后,进行另外一层遍历我们是不希望受到前面遍历的影响的)比如第一次深度遍历得到“agm”,如果是使用引用传参,那么在第一次遍历之后,str就变成了“agm”在后续遍历中不方便操作。

当level达到所给数字字符串的size的时候也就是level==3时,将得到的字符串str加到vector<string> v里边这里的类型得用引用。

    void combine(string digits,int level,string str,vector<string>& v){if(level==digits.size()){v.push_back(str);return;}int num=digits[level]-'0';string s=A[num];for(int i=0;i<s.size();i++){combine(digits,level+1,str+s[i],v);}}

下面通过画图来演示一下递归流程:

完整代码如下:

class Solution {
public:string A[10]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};//与输入的数字字符形成映射关系void combine(string digits,int level,string str,vector<string>& v){     if(level==digits.size()){v.push_back(str);return;}int num=digits[level]-'0';string s=A[num];for(int i=0;i<s.size();i++){combine(digits,level+1,str+s[i],v);}}vector<string> letterCombinations(string digits) {vector<string> v;if(digits=="")//如果是空串,直接返回空的对象v{return v;}combine(digits,0,"",v);//从第0层开始,str为空串return v;}
};

 

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

相关文章:

  • 电影院做羞羞的网站企业公众号如何开通
  • 长沙建网站设计创建网页
  • 手机网站建设图连接wordpress
  • 网站首页ico怎么做产品推广的目的和意义
  • 海南七星彩网站开发小生互联免费主机
  • 国土局网站建设经验如何做淘宝客个人网站
  • 网站开发需要的技术人才网站不用备案
  • 《教师网站建设与应用管理制度》济南行知网站建设有限公司怎么样
  • 哪个网站是做韩国化妆品正品专业网吧装修设计公司
  • 云主机网站wordpress中标签作用
  • 北京网站建设 网站制作仿站小工具wordpress
  • 国外优秀企业网站百度seo新规则
  • 广州h5网站建设公司专业网站的建设设行吗
  • 企业网站排名软件度智能优化昆明专门做网站
  • 龙华网站建设首页地址ps怎么做网站模板
  • 建的网站打开很慢win10 wordpress安装教程视频教程
  • 网站qq安全认证网上最畅销的10种商品
  • 清远网站制作公司垡头网站建设
  • 企业网站推广方案设计毕业设计网站开发中怎么设置快捷键
  • 单位网站建设的重要性企业网站外包建设
  • wordpress类似网站软件工程师证书有用吗
  • 温州做网站软件佛山专业网站建设团队
  • 千华网鞍山门户网站软件系统设计流程
  • 建设中心小学网站长春个人网站制作公司
  • 怎么修改网站首页logo手机微信怎么创建公众号
  • 网站风格设计怎么写纯代码wordpress底部悬浮菜单
  • 成都项目网站建设有什么做动画的网站
  • 直播是网站怎么做广告创意设计培训
  • 网站建设解密郑州网站优化方案
  • 黄山家居网站建设怎么样三网一体网站建设