ZigZag Conversion
来源:互联网 发布:买车贷款和全款 知乎 编辑:程序博客网 时间:2024/06/02 06:14
题目:
The string "PAYPALISHIRING"
is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)
P A H NA P L S I I GY I RAnd then read line by line:
"PAHNAPLSIIGYIR"
Write the code that will take a string and make this conversion given a number of rows:
string convert(string text, int nRows);
convert("PAYPALISHIRING", 3)
should return "PAHNAPLSIIGYIR"
.
解题思路:
1.首先需要知道ZigZag的形式,是一种Z型的结构;
2.特例nRows分别为2,3,4,5时,画出相应的图,从而找到每一行元素的关系;
3.通过观察: (1)第一行和最后一行两个元素之间相差(2*nRows-2);
(2)中间行:第一列设为k=1,观察得到,奇数列两个数之间差为2*(nRows-1-i);
偶数列两个数差为2*i。
代码如下:
0 0
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- Zigzag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- ZigZag Conversion
- bj java初学2015-7-16
- hdu1180诡异的楼梯
- Mac新手操作指南(一)
- 【发布公告】您的应用卡么?Bugly全新功能:卡顿/ANR监控
- 一个感染型的病毒逆向分析
- ZigZag Conversion
- 网络检错MBProssHUD库的使用
- POJ 1432 Decoding Morse Sequences
- hdu1254推箱子
- css基础学习之--inline-block
- K-means算法
- HDU-3074-Multiply game-单点更新
- poj 3468 A Simple Problem with Integers 线段树
- int,bigint,smallint、tinyint、varchar