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

从网上怎么做网站营销源码之家

从网上怎么做网站营销,源码之家,政务版企业微信app下载安装,昆明哪些做网站建设的公司目录 题目描述:输入:输出:代码实现: 题目描述: 将一个给定字符串 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.ds6.com.cn/news/33418.html

相关文章:

  • 南宁网站建设7make杭州网站seo推广软件
  • 美食网站设计的基本思路百度网
  • 成都网站优化平台沈阳网站关键字优化
  • 腾讯云学生怎么做网站的百度一下百度一下你就知道
  • 如何请人做网站百度排名点击器
  • 医生工作室网站建设百度搜索指数排行
  • wordpress替换smtpseo做得比较好的企业案例
  • 企业门户网站用户类型网络优化
  • 微慕WordPress小程序墨猴seo排名公司
  • 潍坊昌大建设集团有限公司网站软文代写公司
  • 网页版微信文件保存在哪里seo研究中心培训机构
  • 宜春做网站搜索引擎优化分析
  • 美食网站开发的难点韶关seo
  • 学习做ppt 的网站百度指数人群画像怎么看
  • 策划网站做营销推广新区seo整站优化公司
  • 决定网站打开的速度吗网络推广文案怎么写
  • 响应式网站建设制作需要注意什么网页百度网盘
  • 网站建设背景分析论文网络推广靠谱吗
  • 网站建设课程心得什么是搜索引擎销售
  • 手机端网站需要多少钱广州百度推广排名优化
  • 小米商城网站设计论文北京优化互联网公司
  • 做一网站要什么软件seo具体seo怎么优化
  • 山东青岛网站建设中国国际新闻
  • wordpress增加导航seo就业哪家好
  • 租网站空间沈阳seo团队
  • 一个ip做几个网站吗网络推广平台代理
  • 济南网站建设推荐q479185700上快郑州seo顾问外包
  • 廉江手机网站建设公司网络运营推广是做什么的
  • 做网站推广怎样才能省钱b站在线观看
  • 用帝国做的网站在线营销推广