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

cms网站开发流程登录百度账号

cms网站开发流程,登录百度账号,精品课程网站的建设,网站改版与优化协议书个人主页:Lei宝啊 愿所有美好如期而遇 题目链接 . - 力扣(LeetCode) 输入描述 string convert(string s, int numRows),输入一个字符串s,以及一个行数numRows,将字符串按照这个行数进行Z字形排列&…

 个人主页:Lei宝啊 

愿所有美好如期而遇 


题目链接

. - 力扣(LeetCode)

输入描述

string convert(string s, int numRows),输入一个字符串s,以及一个行数numRows,将字符串按照这个行数进行Z字形排列,实际上本题是将Z字形反转成了N字形

输出描述

按照行将Z字形排列的字符打印出来。

算法分析

模拟算法,实际上就是根据题目要求做,优化就是找规律。

本道题,我们将通过画图来找规律,以示例二为例画图:

找规律,这没有什么比较好的方法,找得到就是找得到,根据图我们可以发现第一行和最后一行每个元素的下标差了6,也就是说公差为6,而中间行的元素,虽然也遵循这个规律,不过是两个数字两个数字这样来进行的--1+6=7  5+6=11。

那么如何计算公差,你说公差是6就是了吗?我们可以多画几个图来进行验证,最后我们可以得到的结论是公差d = 2 * 行数 - 2

对于第一行和最后一行而言,我们可以直接使用公差进行计算,而对于中间行来说,需要两个数字一起向后走,那么我们怎样得到第二个数字呢?观察后我们可以发现,这两个数字的下标加起来正好是公差d,所以我们可以用公差 - 下标一 = 下标二,后面的下标我们通过公差就可以得到了。

我们也就可以按照这样的规律,让下标和字母进行对应,直接把字符尾插进我们创建的string s变量中。

解题源码 

class Solution {
public:string convert(string s, int numRows) {if(numRows == 1) return s;string ret;int d = 2 * numRows - 2;int len = s.size();for(int i=0; i<len; i+=d) ret += s[i];for(int i=1; i<numRows-1; i++){for(int j=i, k=d-i; j<len || k<len; j+=d, k+=d) {if(j<len) ret += s[j];if(k<len) ret += s[k]; }                  }for(int i=numRows-1; i<len; i+=d)  ret += s[i];return ret;}
};

http://www.15wanjia.com/news/44483.html

相关文章:

  • wordpress 无图插件企业seo排名有 名
  • 网站建设租用服务器b2b网站大全
  • 人人建站网做网站的软件有哪些
  • 代理公司名字取什么名优化网站做什么的
  • wordpress 头像 国内北京seo报价
  • 莱芜网站排名价格四川刚刚发布的最新新闻
  • 网站权重如何速度增加外贸营销网站建设介绍
  • 做兼职一般去哪个网站杭州正规引流推广公司
  • jsp可以做那些小网站设计一个简单的网页
  • 做网站不懂行情 怎么收费北京网站营销seo方案
  • 动态网站开发实训心得800百度指数有哪些功能
  • 网站建设 微盘下载百度关键词搜索推广
  • 呼市企业网站制作市场宣传推广方案
  • 北京北站杭州seo公司排名
  • vue做网站的好处百度账号中心
  • 济南济南网站建设公司专业的网页制作公司
  • 手机怎么进入pc端单页网站seo优化
  • 工业风 网站建设网页关键词优化软件
  • 不用登录的小游戏网站百度官网首页登陆
  • wordpress 文章列表 分页seo关键词排名优化
  • 做爰明星视频网站百度搜索引擎的网址
  • 免费b站不收费网站2023网络推广软件免费
  • 专门做恐怖的网站优化大师官方免费
  • 代做硬件毕业设计网站电商培训大概多少学费
  • 在网上做软件挣钱的网站网页模板源代码
  • 天津做网站美工推广公司主要做什么
  • 深圳定制网站制作报价兰州网站优化
  • 网站上传不了网站推广app下载
  • 郫县建设局网站网站推广的营销策划方案
  • 产品代理网seo自动优化软件安卓