【力扣】:N字型
1 class Solution {
2 public String convert(String s, int numRows) {
3 String resultS = ""; // 待返回的字符串
4 int len = s.length(); // 字符串长度
5 if (numRows <= 1){ return s;}
6 for(int row = 0 ; row < numRows ; row ++){
7 int n = 0; // 设置间隔数
8 int index = 0; // 设置读取的索引值
9 if(row == 0 || row == numRows -1){
10 // 如果处于第0行或最后一行,显示的数据的等差 2*(numRows -1) ,对应累加索引 row + 2*(numRows -1)*n
11 index = row;
12 while ( index < len ){
13 resultS += s.charAt(index);
14 n ++;
15 index = row + 2*(numRows -1)*n;
16 }
17 }else{
18 // 如果处于中间行,显示的等差数据为:2*(numRows -1) - 2*row , 2*row ,
19 // 对应的累加索引: n 为偶数时 row + (numRows -1) *n ; n 为奇数时 row + 2*(numRows -1) * (n + 1)/2 -2*row
20 index = row;
21 while (index < len){
22 resultS += s.charAt(index);
23 n ++ ;
24 index = (n % 2 == 0)? (row + (numRows -1) *n) : (row + 2*(numRows -1) * (n + 1)/2 -2*row) ;
25 }
26
27 }
28
29 }
30 return resultS;
31 }
32 }
N字型变换:https://leetcode.cn/problems/zigzag-conversion/submissions/
【力扣】:N字型的更多相关文章
- 力扣Leetcode 面试题56 - I. 数组中数字出现的次数
面试题56 - I. 数组中数字出现的次数 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 示例 ...
- 力扣567.字符串的排列—C语言实现
题目 来源:力扣(LeetCode)
- 力扣566. 重塑矩阵-C语言实现-简单题
题目 传送门 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据. 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要 ...
- 刷题-力扣-剑指 Offer 42. 连续子数组的最大和
剑指 Offer 42. 连续子数组的最大和 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de ...
- [函數] Firemonkey Android 取得系统参数设定的字型大小
Android 系统参数设定内,可以设定字型大小: 可以透过下面代码来取得字型大小比例: function FontScale: Single; var Resources: JResources; ...
- [LeetCode] ZigZag Converesion 之字型转换字符串
The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...
- Delphi 取得 iOS 辅助使用里的字型大小
说明:在 iOS 里有一个人性化的辅助设定,可以将字体放大,但这个设定对 Delphi 是不起作用的,还好 Delphi 提供了这个 iOS API 可以取得. 开发环境:Delphi 10 Seat ...
- Firemonkey TComboBox 下拉菜单字型修改方法 (D10)
在 FMX 下的 TComboBox 下拉菜单字型修改有二种方法: uses FMX.Pickers; 使用 Style,需先设定好 Style 后,再指定预设项的 Style,方法如下: proce ...
- XE7 iOS 取得系统字型名称
系统字型名称在每个平台的取得方式不尽相同,以下示范如何在 iOS 取得系统内所有字型的名称: uses // 加入下面二个 uses 文件 iOSapi.UIKit, iOSapi.Foundatio ...
- Firemonkey 控件设定字型属性及颜色
将控件 StyledSettings 的勾取消(如此才能自定样式及字型,如果勾选则依 Style 而定). 设定 TextSettings 里的 Font 属性. 使用代码寫法: CheckBox1. ...
随机推荐
- ING国际银行基于Volcano的大数据分析平台应用实践
摘要:ING集团发表了<Efficient Scheduling Of High Performance Batch Computing For Analytics Workloads With ...
- npm 环境搭建---全局安装angular cli ---升级本地angular版本---搭建ng-alain
1.环境搭建 node -v # 查看 Node.js 当前版本 npm -v # 查看 Npm 当前版本 2.设定淘宝提供 Npm 源镜像 # 设置淘宝源 npm config set regist ...
- Java后台如何接收与处理JSON类型数据
项目开发中偶尔会使用到某个为JSON类型的字段,一个字段中又包含多个其他的字段. 这种设计方式是根据实际需要来进行处理的,比如规则可能包含多条,每一条规则又包含 多个字段:再比如一些特殊的应用场景如标 ...
- Typora软件下载与markdown语法的使用
Typora软件下载与markdown语法的使用 一.Typora下载 1.Typora的简介 Typora是一款轻量级文本编辑器,文本阅读器,是目前最火爆的文本编辑器. Typora中格式,字体,主 ...
- 最容易懂的策略模式消除if-else分支,实现开闭原则,提高可扩展性
1 介绍 策略模式最常用的场景就是用于消除代码中的if-else,这里所说的if-else并不是说任何简单的判断都引入策略模式来优化,这样反而会增加代码的复杂度. 反例:使用策略模式对一个boolea ...
- Git-01 简要介绍
1 git简介 Git 是一个免费的.开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目. Git 易于学习,占地面积小,性能极快. 它具有廉价的本地库,方便的暂存区域和多个工作流分支 ...
- idea debug---启动超级慢,提示”Method breakpoints may dramatically slow down debugging“的解决办法
https://blog.csdn.net/hanqing456/article/details/111878982 1.问题项目正常启动的时候没问题,debug模式就卡住了,很久不动.我推测是哪个断 ...
- 尊重 respect
尊重他人,这里面的门道. 明面上尊重他人要在自身有地位有身份的前提下,你身边的其他人 才能高效接收到你传递的信号,这叫礼贤下士. 暂时没地位的人更是应该无时无刻释放出尊重他人的信号,来向外界传达你是一 ...
- 面试必问:JVM 如何确定死亡对象?
在 JVM 中,有两个非常重要的知识点,一个是 JVM 的内存布局(JVM 运行时的数据区域),另一个就是垃圾回收.而垃圾回收中又有两个重要的知识点,一个是如何确定 JVM 中的垃圾对象,另一个是使用 ...
- 10分钟搞定简易MVVM
实现一个简易的 MVVM 分为这么几步来 1.类 Vue:这个类接收的是一个 options. el属性:根元素的id data属性:双向绑定的数据. 2.Dep 类: subNode数组:存放所依赖 ...