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

网站的后期维护wordpress柚子皮5.31 .zip

网站的后期维护,wordpress柚子皮5.31 .zip,三网站建设,绍兴企业免费建站目录 题目描述:输入:输出:代码实现: 题目描述: 将一个给定字符串 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.yayakq.cn/news/273658/

相关文章:

  • 兼职网站的建设目标怎么写合肥建设集团招聘信息网站
  • 动漫视频网站模板沈阳网站建设 网络服务
  • 邢台住房和城乡建设部网站廊坊网站建设精灵
  • get写作网站wordpress 迅雷下载地址
  • 域名关键词排名查询重庆seo外包平台
  • 本地wordpress如何同步唐山seo
  • 基于asp的网站设计与实现做词频云图的网站
  • 做的网站如何更换网站模板wordpress怎么迁移
  • 网站建设销售提成网站做推广企业
  • 网站做的和别人一样违法网站专题特点
  • 餐饮营销型网站案例交易网站备案
  • 网站建设规划书ppt怎么用iapp做网站软件
  • 商标注册网站缴费入口丹东淘宝做网站
  • 如果建网站做文字图片的网站
  • app网站公司游戏推广员怎么做
  • 上海网站建设费用多少钱化工材料 技术支持 东莞网站建设
  • 淄博网站建设给力臻动传媒怎么简单攻击一个网站
  • 手机网站 生成app四川可以做宣传的网站
  • 东莞做网站的联系电话办网站怎么赚钱
  • 网站做配置文件的作用网址导航网址大全
  • 汉阴做网站网站里图片做超链接
  • wordpress整站源码带数据做一个网站需要什么条件
  • 网站备案要到哪里下载超级外链发布工具
  • 哪些网站是用iframe天津建设工程信息网专家
  • 适合个人做的网站有哪些东西吗网页制作素材包
  • 建筑工程网教惠州seo外包公司
  • 做网站系统校园视频网站建设
  • 中国做网站的公司排名网站做哪些比较赚钱
  • 网站开发需要什么工程师企业邮箱申请免费
  • 如何创建微网站思源黑体可以做网站