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

电子商务网站建设 价格/快速优化seo

电子商务网站建设 价格,快速优化seo,湖南营销网站建设联系方式,自己架设网站一、题目描述 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: 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"。

请你实现这个将字符串进行指定行数变换的函数:

string convert(string s, int 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"
 

提示:

1 <= s.length <= 1000
s 由英文字母(小写和大写)、',' 和 '.' 组成
1 <= numRows <= 1000

二、实现代码思路

class Solution {public String convert(String s, int numRows) {int len = s.length();if(s == null || (numRows <= 2 && len <=2)){return s;}int zuNum = numRows < 2 ? numRows : numRows + (numRows - 2);;// 一个组内有元素的个数int zuShu = (len % zuNum == 0) ? +len / zuNum : len / zuNum + 1;;// 字符串s可以分多少组String[] zuStr = new String[zuShu];//求二维数组列数int col = (len % zuNum == 0)? len/zuNum * (zuNum>1?1 + numRows - 2:1)  :  ((len / zuNum) * (1 + numRows - 2) + ((len % zuNum) > numRows ? (1 + len % zuNum % numRows) : 1));//二维数组 存放字符串字符char[][] charArray = new char[numRows][col];int temp = 0, k = 0;// 把字符串分组while (temp + zuNum <= len) {zuStr[k++] = s.substring(temp, temp + zuNum);temp += zuNum;}if (temp < len) {zuStr[k++] = s.substring(temp, len);}// 存放字符for (int i = 0; i < zuShu; i++) {int lenStr = zuStr[i].length();if (lenStr <= numRows) {for (int j = 0; j < lenStr; j++) {charArray[j][i * (zuNum - numRows + 1)] = zuStr[i].charAt(j);}} else {for (int j = 0; j < lenStr; j++) {if (j < numRows) {charArray[j][i * (zuNum - numRows + 1)] = zuStr[i].charAt(j);} else {                    charArray[numRows - (j + 2) % numRows][i * (zuNum - numRows + 1) + j + 1 - numRows] = zuStr[i].charAt(j);                       }}}}// 拼接字符StringBuilder sb = new StringBuilder();for (int i = 0; i < numRows; i++) {for (int j = 0; j < col; j++) {if (charArray[i][j] != 0) {sb.append(charArray[i][j]);}}}return sb.toString();}
}

http://www.lbrq.cn/news/1287235.html

相关文章:

  • 做快递单的网站会不会是骗人的/网络营销的主要内容包括
  • 襄阳做网站价格/全网网络营销推广
  • php动态网站开发案例答案第二章/管理方面的培训课程
  • 普洱住房和城乡建设委员会网站/武汉seo网站优化运营
  • 临沂网站建设培训学校/html网页制作
  • 吉林商城网站建设/广州网站优化软件
  • 免费做网站教程/怎么推广销售
  • 河南建网站/抖音怎么运营和引流
  • 通过企业画册宣传_网络网站建设_新闻媒体合作等方式_/福州网站建设策划
  • 响应式网站的排版/网站搜索优化官网
  • 网站代运营收费/官网建设
  • wordpress 网页排版错误/抖音seo关键词优化怎么做
  • 网站技术培训/青岛网站建设公司
  • 网站建设遵循的原则/百度竞价最低点击一次多少钱
  • 网站session/网络公司seo教程
  • 优化一个网站需要多少钱/徐州seo外包
  • 著名网站织梦/搜索广告排名
  • 做网站跟网站设计的区别/爱站seo综合查询
  • 做企业网站要怎么设计方案/百度上怎么发布作品
  • 深圳做网站公司排名/seo搜索优化招聘
  • 网站开发设计技术/最近几天的重大新闻事件
  • 北京网站建设维护/高级搜索引擎
  • 佛山免费发布信息的网站/网络营销的种类有哪些
  • 天猫官方网站首页/软文网站有哪些
  • 网站源码php/网络营销管理
  • 网站降权分析/友情链接交换平台免费
  • 上海网站建设 网页做/北京网络营销公司哪家好
  • dw做的网站如何上传图片/新手怎么入行seo
  • 网站怎么做响应式/seo怎么读
  • 哪里有教用java做网站/seo岗位工资
  • 21-ospf多区域
  • python 检测蜂窝网络,实现掉网自动拨号
  • Linux用户
  • 【vue3+vue-pdf-embed】实现PDF+图片预览
  • 嵌入式学习-(李宏毅)机器学习(3)-day30
  • PyCharm高效开发全攻略