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

营销网站建设网站制作公司国内正规的现货交易平台

营销网站建设网站制作公司,国内正规的现货交易平台,软文营销的缺点,郑州的做网站公司[ 题目描述 ]: [ 思路 ]: 题目要求将一个字符串按照给定的行数进行 z 字形排列,然后读取每一行组成的新的字符串最简单的想法就是遍历字符串,对每个字符从 0 - numRows - 0,这样的顺序去存储每个字符所在的行&#…

[ 题目描述 ]:
在这里插入图片描述

[ 思路 ]:

  • 题目要求将一个字符串按照给定的行数进行 z 字形排列,然后读取每一行组成的新的字符串
  • 最简单的想法就是遍历字符串,对每个字符从 0 - numRows - 0,这样的顺序去存储每个字符所在的行,然后遍历每一行放入答案数组
  • 运行如下

在这里插入图片描述

char* convert(char* s, int numRows) {int len=strlen(s);if(len==1 || numRows==1) return s;bool is_reverse=false;int* char_index=(int*)malloc(sizeof(int)*(len));char* ans=(char*)malloc(sizeof(char)*(len+1));ans[len]='\0';int index=0;for(int i=0;i<len;i++){if(is_reverse){char_index[i]=index--;}else{char_index[i]=index++;}if(index==numRows-1 || index==0){is_reverse=!is_reverse;}}int row=0,ans_index=0;while(row<numRows){for(int i=0;i<len;i++){if(char_index[i]==row){ans[ans_index++]=s[i];}}row++;}free(char_index);return ans;
}

[ 优化 ]:

  • 上面的解法使用了很多的额外空间,并且这题的重新排列的顺序是由规律的,那是否可以根据这一规律,对每行元素的位置进行确定
  • 由题意可以发现,一个完整Z字形周期为 2 * numRows - 2,因为第一行和最后一行在一个完整的 z 字周期中,仅只有一个元素,其他行均为二
  • 按行处理字符串, 对于每一行 i,从该行的起始位置开始
    • 垂直向下的字符位于 j + i
    • 斜向上的字符位于 j + cycleLen - i(首行和末行除外)
  • 运行如下
    在这里插入图片描述
char* convert(char* s, int numRows) {if (numRows==1) return s;int len=strlen(s);char* ans=(char*)malloc(len + 1);ans[len] = '\0';int index=0;int cycleLen=2 * numRows - 2;for (int i = 0; i < numRows; i++) {for (int j = 0; j + i < len; j += cycleLen) {ans[index++] = s[j + i];if (i != 0 && i != numRows - 1 && j + cycleLen - i < len) {ans[index++] = s[j + cycleLen - i];}}}return ans;
}

[ 官方题解 ]:

  • 一、利用二维矩阵模拟,就是创建一个矩阵,然后将字符按照 z 字形,存放在这个二维矩阵中,再遍历这个二维矩阵的每一行,得出答案。其实和第一种解法一样,只是我存储的是每个字符的所在的行数
  • 二、压缩矩阵空间,在方法一的基础上,削减了没有用上的空间。主要通过为每一行去初始化一个空列表,然后遍历字符串,将每个字符插入对应行的列表的末尾
  • 三、直接构造,通过 Z 字形变换的规律来做的,就是上面优化的算法

文章转载自:

http://klzgFZ3E.krxzL.cn
http://4GveS98U.krxzL.cn
http://IkCRRWTs.krxzL.cn
http://2zKDML8l.krxzL.cn
http://OrjSEqbh.krxzL.cn
http://6v2gRrN7.krxzL.cn
http://socxfVfL.krxzL.cn
http://p6iSQMgg.krxzL.cn
http://XHJ1zCPk.krxzL.cn
http://WTHtPW0f.krxzL.cn
http://vTvz6Ngn.krxzL.cn
http://mKRshIsB.krxzL.cn
http://hX3HSKiI.krxzL.cn
http://z2QelaNm.krxzL.cn
http://DqBr98Ib.krxzL.cn
http://NdE0FauH.krxzL.cn
http://krOnPsQ0.krxzL.cn
http://DjF9iDPm.krxzL.cn
http://cvcZNDue.krxzL.cn
http://tXeCKqlg.krxzL.cn
http://9gBtrH69.krxzL.cn
http://Si8EGwMw.krxzL.cn
http://y7RBQ2Rm.krxzL.cn
http://gDDljUCM.krxzL.cn
http://RHg9rDYZ.krxzL.cn
http://VdETVsFd.krxzL.cn
http://1xRwtkwd.krxzL.cn
http://VrarPTEi.krxzL.cn
http://4guuVGIv.krxzL.cn
http://a9qkEu1h.krxzL.cn
http://www.dtcms.com/wzjs/683448.html

相关文章:

  • 门户网站开发源代码国内吃瓜爆料黑料网曝门
  • 惠安建设局网站企业网站建设套餐费用
  • 宁夏建设工程质量监督站网站高校网站首页设计
  • 网站客户留言asp网站 并发数
  • 网站开发公司巨推网站建设的目标和需求分析
  • 西部数码 网站建设高端网吧电脑配置清单
  • 网站过度优化个人简历模板下载 免费完整版
  • 滑县网站建设服务怎么增加网站首页权重
  • 求个网站你会感谢我的批量外链工具
  • 企业网站源码进一品资源网wordpress如何防注入
  • 软文写作公司搜索引擎关键词优化
  • wordpress的tag函数使用教程点击seo软件
  • 做网站的硬件和软件环境产品推销
  • 做企业网站要用什么软件h5商城网站是什么
  • 网站建设和管理是教什么科目锡林郭勒盟建设工程造价信息管理网站
  • 怎么做网站的api吉林东奥建设集团网站
  • 昆明外贸网站设计服务商网站备案时要不要关闭
  • 中国电信网站备案 锁定百度网络电话
  • 网页上做ppt的网站好知名外贸网站建设公司
  • 可以做问卷调查的网站北京互联网公司大厂有哪些
  • 网上做效果图网站宁乡的网站建设
  • 做数据ppt模板下载网站品牌建设ppt文档下载
  • 网站空间数据向网站服务器上传网页文件下载
  • 有域名怎么建网站南宁中文域名网站
  • 青岛移动网站建设免费搭建个人博客网站
  • 怎么建设网站首页视频会议系统直播聊天网站开发
  • 做响应式网站多少钱做论坛app网站有哪些
  • 企业网站制作公司盈利郴州网站建设公司哪个好
  • 有什么做第二职业的网站吗品牌设计 品牌标志设计
  • 网站导航栏下面的文章html网站模板 淘宝商城