当前位置: 首页 > 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.bjxfkj.com.cn/article/100686.html

相关文章:

  • ui人机界面设计广州网站优化平台
  • 做视频网站服务器多少钱淄博seo网络公司
  • 武汉个人做网站泉州全网营销优化
  • 音乐网站开发 群新乡百度关键词优化外包
  • 赤峰北京网站建设免费推广网站平台
  • 一家专门做特卖的网站手机版seo的优化方向
  • 两学一做网站源码百度一下浏览器下载安装
  • 上海网站建设 知名觉东莞关键词排名seo
  • 网站开发项目需求方案百度网站推广怎么收费
  • 如何做一个企业的网站百度竞价怎么排名第一
  • wordpress 开启手机标题seo是什么意思
  • ajax数据库网页网站设计免费网站外链推广
  • 做网站建设的电话销售新冠不易感染三种人
  • 厦门建站系统建设游戏特效培训机构排名
  • 做自己的网站发表文章后怎么能让钱赚到手是不是点击率高就可以有收入?请高人指教!感激涕零!seo基础培训
  • 深圳分销网站设计费用互联网营销师报名费
  • 网页游戏网站排名前10名seo优化销售话术
  • 群晖 做网站seo实战教程
  • 潍坊网站设计公司seo外链收录
  • 高级网站设计北京seo优化wyhseo
  • 网站建设哪家做的好计算机培训机构排名
  • 怎么做网站促收录房地产最新消息
  • 武汉政府网站建设新网站seo
  • 一级造价工程师真题杭州seo平台
  • 网络广告推广平台有哪些广东搜索引擎优化
  • 凡客诚品商品来源有哪些百度搜索网站优化
  • 网站栏目结构设计网络营销服务公司
  • 合肥哪个公司做网站好郑州网络推广排名
  • cdn wordpress 升级网站优化关键词排名
  • 网页设计报告心得seo专员招聘