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

云浮 网站建设免费网络营销平台

云浮 网站建设,免费网络营销平台,dedecms网站地图 显示三级栏目,昆明网站制作前十leetcode算法每天一题006 题目描述 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行N 字形排列,输出正常顺序的结果。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: P A H N A P …

leetcode算法每天一题006

题目描述

  • 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行N 字形排列,输出正常顺序的结果。

  • 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:

P   A   H   N
A P L S I I G
Y   I   R

暴力解法(用二维向量存储重排的结果,然后正序读取出来)

c++

class Solution {
public:string convert(string s, int numRows) {int column = 7000;const int n = numRows;string res;vector< vector<char> > asd1(numRows, vector<char>(column, 0)); //初始化row*column二维动态数组,初始化值为0if(n==1){return s;}if(n==2){for(int i=0;i<s.size();i++){if(i%2==0){asd1[0][i/2]=s[i];}else{asd1[1][i/2 + 1 ] = s[i];}}}if(n>2){for(int i=0;i<s.size();i++){if(i%(2*n-2)<n){asd1[i%(2*n-2)][(i/(2*n-2))*(n-1)]=s[i];}else{asd1[((n-1)-((i%(2*n-2))-n ))-1][(i/(2*n-2))*(n-1) + (i%(2*n-2))-n+1 ] = s[i];}//((i%(2*n-2))-n ) 是在[n,n-1]的n-2个元素中的排序}}for(int tn=0;tn<numRows;tn++){for(int m=0;m<7000;m++){if(asd1[tn][m]!= 0){res.push_back(asd1[tn][m]);}}}return res;}
};
class Solution {
public:string convert(string s, int numRows) {int column = 0;const int n = numRows;string res="";vector< vector<char> > asd1(numRows, vector<char>(column, 0)); //初始化row*column二维动态数组,初始化值为0int flag = 0;for(int i=0,row=0;i<s.size();i++){asd1[row].push_back(s[i]);if( row == 0 || row == numRows-1 ) flag = !flag;row += flag ? 1:-1;}for(int tn=0;tn<numRows;tn++){for(int m=0;m<asd1[tn].size();m++){res.push_back(asd1[tn][m]);}}return res;
}
};

c++(动态数组直接存储)

class Solution {
public:string convert(string s, int numRows) {int column = 0;const int n = numRows;string res="";if(numRows==1) return s;vector< vector<char> > asd1(numRows, vector<char>(column, 0)); //初始化row*column二维动态数组,初始化值为0int flag = 0;for(int i=0,row=0;i<s.size();i++){asd1[row].push_back(s[i]);if( row == 0 || row == numRows-1 ) flag = !flag;row += flag ? 1:-1;}for(int tn=0;tn<numRows;tn++){for(int m=0;m<asd1[tn].size();m++){res.push_back(asd1[tn][m]);}}return res;
}
};

在这里插入图片描述

java java中的动态数组ArrayList

class Solution {public String convert(String s, int numRows) {int column = 0;int n = numRows;if(numRows==1) return s;//特殊情况StringBuilder[] stringLine = new StringBuilder[numRows];for (int i = 0; i < stringLine.length; i++) {stringLine[i] = new StringBuilder();}boolean flag = false;for(int i=0,row=0;i<s.length();i++){stringLine[row].append(s.charAt(i));if( row == 0 || row == numRows-1 ) {flag = (!flag);}row += flag ? 1:-1;}StringBuilder res = new StringBuilder();for (int i = 0; i < stringLine.length; i++) {res.append(stringLine[i]);}return res.toString();}
};

其他方法

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

【数据结构和算法】LeetCode 6. Z 字形变换

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

相关文章:

  • 招聘网站花钱做的简历有用没百度官方官网
  • 兰州微信信息平台网站建设公司网页网站建设
  • 怎么做让网站排名靠前企业网站seo服务
  • 网站搭建有分谷歌关键词智能调词工具
  • 鲜花网站建设主要内容江门搜狗网站推广优化
  • 佛山禅城区网站建设公司推广方案100个
  • apple网站设计网站链接查询
  • 网站开发需要的软件有哪些seo优化工作内容做什么
  • 专业建设网站应该怎么做软文网站推广
  • 企业网站制作建设的框架有哪几种淘宝关键词优化
  • 做网站找图片抖音seo什么意思
  • 做网站能不能赚钱竞价推广代运营企业
  • 做外贸重新设计网站如何seo网站推广
  • 行业网站定位企业网络营销推广案例
  • 书法网站优化关键词关键词优化策略
  • 网站建设培训深圳seo关键词排名优化方法
  • 陕西建设部网站官网广州推广优化
  • 自己做网站要买服务器吗阿里巴巴官网首页
  • 石油网页设计与网站建设脑白金网络营销
  • 网站设计排名网站成都专业的整站优化
  • 苏州行业网站建设费用网上接单平台有哪些
  • 帮人做网站推选的公司百度推广平台登录网址
  • 深圳北网站建设线上销售水果营销方案
  • 广州高端品牌网站建设后台管理便捷手机百度一下
  • 北京网站建设公司飞沐seo排名优化
  • wordpress前端页面模板seogw
  • 杭州响应式建站价格河南郑州网站推广优化
  • 无锡网站建设兼职宁波seo优化外包公司
  • 网站建设项目内容品牌网站建设公司
  • 建设摩托车官方网沈阳企业网站seo公司
  • 同题异构解决leetcode第3646题下一个特殊回文数
  • Linux 网络命令大全
  • 两台电脑之间如何传输大文件?
  • Spring Boot 集成 Redis 发布订阅实现消息通信
  • J1939协议
  • 《算法导论》第 32 章 - 字符串匹配