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

台州做网站的公司网站推广公司排行榜

台州做网站的公司,网站推广公司排行榜,三合一网站管理系统怎么做的,计算网站制作教程目录 题目描述:输入:输出:代码实现: 题目描述: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如…

目录

  • 题目描述:
  • 输入:
  • 输出:
  • 代码实现:

题目描述:

将一个给定字符串 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);

代码调试效果图:
在这里插入图片描述

输入:

s = "PAYPALISHIRING", numRows = 3

输出:

"PAHNAPLSIIGYIR"

代码实现:

public class Main {public static void main(String[] args) {// TODO Auto-generated method stubString s = "PAYPALISHIRING";System.out.println(convert(s, 3));//PAHNAPLSIIGYIR}public static String convert(String s, int numRows) {// 使用二维数组模拟,行数已知,需要确定列数int len = s.length();// 总共的字符长度if (len <= numRows || numRows <= 1) {//无法构成z型的情况return s;}int numCols = 0;// 列数int numCyc = numRows * 2 - 2;// 一个周期包含的字符数int cyc = len / numCyc;// 循环周期数int more = len % numCyc;// 最后一个周期的字符数if (more > numRows) {// 最后一个周期的字符数超过了一列的情况numCols = cyc * (numRows - 1) + more - (numRows - 1);// 周期长度+不足一个周期的列的长度} else {// 没有超过一列的长度numCols = cyc * (numRows - 1) + 1;// 没超过一列算成一列}char[][] arr = new char[numRows][numCols];// 创建二维数组:存储字符元素int index = 0;//已经遍历过的字符个数int i = 0, j = 0;//i表示行,j表示列while (j < numCols) {//列if (index == len) {//循环出口:当遍历个数=字符个数break;}while (i < numRows) {//行if (index < len) {char c = s.charAt(index);//获取字符串中的每一个字符if (numRows == numCyc) {//循环周期的元素个数等于行数时:直接从上到下,从左到右写入arr[i++][j] = c;if (i == numRows) {i = 0;//回到第一行j++;//列数进一}index++;//字符计数} else {//循环周期的元素个数不等于行数:形成z型时if (index % numCyc < numRows) {//字符在同一行的情况arr[i++][j] = c;if (i == numRows) {//当遍历到最下方时,回溯到上一行i--;}} else {//字符不在同一行的情况arr[--i][++j] = c;//对当前位置的右上方:插入字符if (i - 1 == 0) {//下一个循环周期的入口i--;j++;//向右上方移动到第一行}}index++;//字符计数}} else {//内层循环出口:计数元素个数达到字符串大小时break;}}}//拼接数组中不为空的字符串StringBuilder res = new StringBuilder();//从左到右,从上到下进行遍历for (int k = 0; k < arr.length; k++) {for (int l = 0; l < arr[k].length; l++) {if (arr[k][l] != '\0') {//ASCII码不为0的字符,才进行拼接res.append(arr[k][l]);}}}return res.toString();//转化为字符串}
}
http://www.hkea.cn/news/91554/

相关文章:

  • 网站公司说我们做的网站服务器不够用哪个杭州seo好
  • 类似淘宝网站建设费用杭州哪家seo公司好
  • 装修网站怎样做seo专员很难吗
  • 无锡网站外包如何接广告赚钱
  • 英文网站制作 官网淘宝标题优化网站
  • 电力建设网站网络推广网站的方法
  • 如何做网站窗口网站优化网络推广seo
  • 营销型网站建设效果网络营销策划推广方案
  • 专业的网站搭建多少钱网站seo优化价格
  • 广州公司网站设计制作win10优化大师官网
  • 做调查哪个网站比较可靠百度指数查询
  • 怎么在建设厅网站报名广州网站优化服务
  • 怎么用dw做静态网站b站好看的纪录片免费
  • 济南网站建设那家好网站制作公司有哪些
  • 域名和网站名不一样营销公司
  • discuz做电影网站免费网站seo
  • 惠民建设局网站明年2024年有疫情吗
  • 卫龙的网站是谁做的今日的新闻
  • 厚街找人做网站动态网站设计
  • 永春县住房和城乡规划建设局网站太原seo排名优化软件
  • 怎么上网站后台爱站小工具计算器
  • 网页编辑岗位职责seo上海优化
  • 网站做二维码吗做网站的外包公司
  • 郑州市中原区疫情最新消息上海网站营销seo方案
  • 狂人站群系统中国最权威的网站排名
  • 简单网站开发实例网站运营工作的基本内容
  • 飞机免费代理ip爱站网seo综合查询工具
  • 河南焦作有做网站开发的公司吗巩义网络推广公司
  • 邓州做网站网络广告有哪些形式
  • 爬闪数媒 网站建设网站建站流程