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

治多县网站建设公司怎么看网站的ftp

治多县网站建设公司,怎么看网站的ftp,网游开发培训中心,制作网站电话关键字#xff1a;数学归纳法 一、题目 将一个给定字符串 s 根据给定的行数 numRows #xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 PAYPALISHIRING 行数为 3 时#xff0c;排列如下#xff1a; P A H N A P L S I I G Y I R … 关键字数学归纳法 一、题目 将一个给定字符串 s 根据给定的行数 numRows 以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 PAYPALISHIRING 行数为 3 时排列如下 P A H N A P L S I I G Y I R 之后你的输出需要从左往右逐行读取产生出一个新的字符串 比如PAHNAPLSIIGYIR。 请你实现这个将字符串进行指定行数变换的函数 convert(s, numRows); 示例 1 输入s PAYPALISHIRING, numRows 3 输出PAHNAPLSIIGYIR 示例 2 输入s PAYPALISHIRING, numRows 4 输出PINALSIGYAHRPI 解释 P I N A L S I G Y A H R P I 示例 3 输入s A, numRows 1 输出A 二、思路使用数学归纳法对Z字形排列进行规律总结 // 3阶Z变形 7个1 // 1    1 // 1 1 1 // 1    1 // 4阶Z变形 10个1 // 1         1 // 1     1  1 // 1  1     1 // 1         1 // 5阶Z变形 13个1 // 1            1 // 1        1  1  // 1     1     1  // 1  1        1  // 1            1 // ........ // n阶Z变形 // 得到公式n阶:3n-2个13n - 2 n (n-2) n 经过以上归纳我们知道了对于Z字变形的一个数学上的规律这里的n就是题目中的numRows变量。同时从图形上看我们可以把一个V形看成一个周期如下图表示3个周期确定这个思想有利于理解后面的逻辑。 1            1             1 1        1  1         1  1        1 1     1     1      1     1     1 1  1        1   1        1   1 1            1             1 三、现在我们知道了这样一个规律那么我们很容易想到把字符串按照这样的规律放进到一个二维数组里面所以我们需要基于我们发现的规律来分析出两个关键点 二维数组的行列数每一个字符在二维数组中的位置 四、实现步骤 1、定义一个二维数组,二维数组为arr[n-1][m-1],n为行数,m为列数s为字符串 m (Math.floor(s.length / (2n-2)))*(n-1) (s.length % (2n-2)-n0?(n-2)1:(s.length % (2n-2) 0?0:1)这里把(n (n-2))看成一个周期 // 粗略一点的话m也可以直接等于 Math.ceil(s.length/(2n - 2))*(n-1 2、每个字符在二维数组中的位置同样用到了数学归纳法 假设字符的索引为i 所在列col (Math.floor((i1) / (2n-2)))*(n-1) ((i1) % (2n-2)-n0?(n-2)1:((i1) % (2n-2) 0?0:1) 所在行row (i1)%(2n-2) n?((i1)%(2n-2)0?2:(i1)%(2n-2)):2n-(i1)%(2n-2)  3、 遍历字符串把每个字符放在对应的位置上 4、再按行从左到右取字符 五、完整代码 let convert function(s,numRows 3){let n numRows;let len s.length;let m 0let arr new Array(n);if(len (3 * numRows - 2)){return s}m (Math.floor(len/(2*n-2)))*(n-1)let remainder len%(2*n-2)if(remainder ! 0){m (remainder - n 0?(n-2)1:1)}for(let i 0;i n;i){arr[i] new Array(m);}// 遍历字符串for(let i 0;i len;i){let remainder1 (i1)%(2*n-2)let col (Math.floor((i1)/(2*n-2)))*(n-1) (remainder1-n0?(n-2)1:(remainder1 0?0:1))col col -1 // 从0列开始let row remainder1 n?remainder1:2*n-remainder1if(remainder1 0){row 2}row row - 1 // 从0行开始arr[row][col] s[i]}// 按行从左向右取字符串let result ;for(let i 0;i n;i){for(let j 0;j m;j){if(arr[i][j]){result arr[i][j]}}}console.log(arr)console.log(result) } convert(PAYPALISHIRING,3) //输出PAHNAPLSIIGYIR convert(PAYPALISHIRING,4) //输出PINALSIGYAHRPI
http://www.sczhlp.com/news/153651/

相关文章:

  • 新网站建设运营年计划体育建设网站
  • 网站是否降权查询创意网页设计图
  • 中小型网站建设资讯做网站需要固定ip吗
  • 深圳高端网站定制两当网站建设
  • 好文转载 -- Words to be remembered 2025.10.1
  • asp网站开发 pdf专业营销网站费用
  • 泊头做网站的有哪些东莞公司网站价格
  • 女性开源网站常德论坛市民留言社区
  • 建设学院网站的意义营销型网站是什么意思
  • 网站开发建设一般多少钱全国大型教育集团网站建设
  • 学校网站建设招标公告余干网站建设制作
  • 网站服务器维护方案网页设计与制作课程实施报告
  • 网站404页面的作用简单网页设计模板html
  • 雄县阿里巴巴网站建设网站建设国培心得体会
  • 免费隐私网站推广app网站登录注册怎么做的
  • 什么网站可以找试卷做网站运营内容
  • Solon Plugin 自动装配机制详解
  • 2025宅基地纠纷律所权威推荐榜:专业调解与胜诉保障实力之选
  • cms 官方网站有趣的编程代码
  • 单页网站模板修改wordpress 短代码 插件
  • 查找邮箱注册过的网站郑州网站建设专家
  • 网站被挂广告怎么办计算机软件著作权
  • pc网站手机版开发WordPress里面备份功能在哪
  • 如何做网站跳转页面怎么做让自己的网站
  • 加强农业网站建设亚马逊在电子商务网站建设
  • 网站上做的图片不清晰是怎么回事长春新建火车站
  • 怎样设计个人网站深圳优化公司高粱seo较
  • 杭州响应式网站建设大方做网站
  • 可以免费商用国外印花图案设计网站沈阳工程信息
  • 网站建设客户需求调查表360网站卖东西怎么做的