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

凡科网站模板seo厂家费用低

凡科网站模板,seo厂家费用低,局域网内个人网站建设,网站建设方案500字17. 电话号码的字母组合 - 力扣(LeetCode) OJ(一)电话号码的字母组合 思路:这里以引用leetcode里面的一个大佬里面的图 1.这道题中,我们用递归的方法来写。 为了简洁展示,我们举例子”456“&am…

17. 电话号码的字母组合 - 力扣(LeetCode)

OJ(一)电话号码的字母组合

思路:这里以引用leetcode里面的一个大佬里面的图

 

1.这道题中,我们用递归的方法来写。

 为了简洁展示,我们举例子”456“,但是下面我们注意是列出部分的结果,不然实在太乱了全部列出来的话

好了,现在我们来分析分析它取结果的过程是如何进行的:

1. 按键4中代表的是ghi,那么我们第一先取g,然后取找下一层按键5,代表的是jkl,仍然是先取第一个j先,再下一层按键6,代表的是mno,取第一个m,得到了结果gjm。

2.取完成了之后,下一步,我们是不是再返回到 j 那一层?返回到 j那层后,再进行取按键6中的n,得到gjn。重复此操作。

3.当我们第二层的字母全部遍历完了之后,我们就开始返回轮到上一层的k

4.过程的话看图片中的序号,就可以清晰看到它遍历的过程了。

代码解析:

1.我们可以使用数组下标的优势,来代表每个按键的数字

2.我们需要另外创建一个组合的函数,里面参数需要用到:字符串digits,层数,另外存一组合完的字符串。vector来存各个字母组合。

3.每一层取的字母放到ConbinateteStr中,

3.当我们遍历到达的层数等于数字的个数,即说明已经完成一次组合了,就存在vector里面。

class Solution {//用数组下标来表示按键的对应的数字string NumA[10]={" "," ","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
public:void Combinate(string digits,int level,string CombinateStr,vector<string>& v){//当我们遍历到达的层数等于数字的个数,即说明已经完成一次组合了if(level==digits.size()){v.push_back(CombinateStr);return;}//将字符转化成数字整数int Num=digits[level]-'0';string Numstr=NumA[Num];//每一层存一个字母,循环for(int i=0;i<Numstr.size();i++){Combinate(digits,level+1,CombinateStr+Numstr[i],v);}}vector<string> letterCombinations(string digits) {vector<string> v;if(digits.empty()){return v;}Combinate(digits,0,"",v);return v;}
};

下面,我们来画一下部分递归展开图,就清楚更多了。

 

OJ(二)杨辉三角

118. 杨辉三角 - 力扣(LeetCode)

这道题,使用到了vector<vector<int>>两个vector,这也是我们之前没有看到过的,这也是我们学习的地方。

1.那么, vector<vector<int>>代表的是什么意思呢?我们用画图来更加直观地了解它。

这相当于一个数组中,又存有多个数组。(即我们之前学习过的二维数组类似)。

 

图中实际上是这样子的: 

 

所以,我们可以看到,第一列与最后一列为1,每一行的第一个数为1. 

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> vv;//开辟好数组大小,numRows行,就有多少个vector<int>元素vv.resize(numRows);for(int i=0;i<vv.size();i++){    //加1是因为下标从0开始,行数是从1开始,看上面:vv[i].resize(i+1,0);vv[i][0]=vv[i][i]=1;}for(int i=0;i<vv.size();i++){for(int j=0;j<vv[i].size();j++){    //等于0的位置  if(vv[i][j]==0){vv[i][j]=vv[i-1][j-1]+vv[i-1][j];}}}return vv;}
};

http://www.dtcms.com/wzjs/572349.html

相关文章:

  • 网站域名需要申请lollipop Wordpress
  • 网站建设是专业网站建设pc指什么
  • 做货代的有哪些网站辽宁省住房和城乡建设厅网站上不去
  • 苏州市建设工程交易中心网站wordpress如何修改栏目的模板
  • 北京网站维护公司中山市城市建设档案馆网站
  • 网站开发宣传语网站建设域名未拿到
  • 网站定制业务营销网站建设要注意什么
  • 天津网站建设费用开发网站用什么工具做设计
  • 手机网站制作机构软件工程做项目网站
  • 常熟做网站哪家好wordpress 万能 主题
  • 网站建设方案策划书ppt网站底部工信部链接怎么做
  • 中企动力免费做网站广西南宁做网站
  • 现在做网站一般做多宽网站规划建设与管理维护的论文
  • p2p视频网站开发wordpress添加商品
  • 学做土建资料员的网站百度知道官网首页登录入口
  • 网站建设有哪些荣誉软件定制开发推荐
  • 鑫瀚通网站建设天津网站建设学习
  • 自己做蛋糕有什么网站吗新网站不收录
  • 友情链接交易网站做企业网站需要哪些材料
  • 建设官方网站的费用账务处理销售营销网站
  • 做儿童文学有哪些的网站网络营销推广策略包括哪些
  • 哪里有免费建站平台wordpress收款插件
  • 网站上线盈利有哪些做的比较好的网站
  • html5网站开发课题设计职业教育网站平台建设
  • 网站建设的学习如何用ftp做网站
  • 哪些网站布局设计做的比较好的做一个电商网站多少钱
  • 金银回收东莞网站建设重庆好的seo平台
  • 我看别人做系统就直接网站下载软件霸州做网站
  • 哪些网站是做婴童辅食招商的广告设计公司需要资质吗
  • 网站建设160页答案广州制作网站企业