首页 > 其他分享 >6. N 字形变换

6. N 字形变换

时间:2023-10-30 16:58:08浏览次数:20  
标签:字形 变换 res numRows int flag 字符串 string

将一个给定字符串 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);


示例 1:

输入:s = "PAYPALISHIRING", numRows = 3
输出:"PAHNAPLSIIGYIR"

代码


class Solution {
public:
    string convert(string s, int numRows) {
        if(numRows == 1) return s;
        int flag = -1;
        int i = 0;
        vector<string> res(numRows);
        for(auto &c:s){
            res[i].push_back(c);
            if(i == 0 || i == numRows - 1){
                flag = -flag;
            }
            i += flag;
        }
        string r;
        for(auto &str:res){
            r += str;
        }

        return r;
    }
};

标签:字形,变换,res,numRows,int,flag,字符串,string
From: https://www.cnblogs.com/lihaoxiang/p/17798239.html

相关文章

  • 变换和卷积
    拉普拉斯变换和卷积如果\(F(s)\)和\(G(s)\)分别是\(f(t)\)和\(g(t)\)的拉普拉斯变换,那么:\((f*g)(t)\)的拉普拉斯变换是\(F(s)\cdotG(s)\)即:\(\mathcal{L}\{f*g\}=F(s)\cdotG(s)\)傅立叶变换和卷积如果\(F(\omega)\)和\(G(\omega)\)分别是\(f(t)\)......
  • 三维模型数据拼接中的几何坐标变换方法实现
    三维模型数据拼接中的几何坐标变换方法实现   利用几何坐标变换后纠正技术实现倾斜摄影三维模型数据的拼接是一种常用的方法。下面将详细介绍如何利用这一技术实现拼接过程。1、数据准备:首先,需要获取不同视角下的倾斜摄影影像数据。这些影像应该覆盖同一场景,并且在重叠......
  • 第五章:矩阵和线性变换
    第五章:矩阵和线性变换本章将讨论矩阵实现线性变换以及变换的一般性原则。其实个人更看重这些变换与矩阵几何意义的联系(这也是这本书作者的目的),但本章节还有大量的推导,个人并不喜欢记录这些,可不记录这些,这章就没什么内容了,但记的话又相当于纯抄书了。所以,我还是……记一些结论。......
  • 快速莫比乌斯/沃尔什变换 (FMT/FWT)
    仅供学习。给定长度为\(2^n\)两个序列\(A,B\),设\[C_i=\sum_{j\oplusk=i}A_j\timesB_k\]分别当\(\oplus\)是or,and,xor时求出\(C\)or\[c_{i}=\sum_{j|k\ini}a_{j}b_{k}\]定义\(fwt[a]_i=\sum_{j\ini}a_j\)显然$$\begin{aligned}fwt[a]\timesf......
  • 几何变换--1.图像缩放
    ......
  • 计算机图形:二维几何变换(2)
    目录特殊二维变换反射错切小结二维几何变换,分2部分:计算机图形:二维几何变换(1)计算机图形:二维几何变换(2)平移、旋转、缩放这些属于基本变换,还有一些特殊二维变换如反射、错切。本文讲特殊二维变换。特殊二维变换反射产生对象镜像的变换,称为反射(reflection)。反射镜像如......
  • EM@坐标@函数@图象的对称和翻折变换
    文章目录abstract坐标@函数@图象的对称和翻折变换翻折变换关于坐标轴翻折此处我们通过研究图象上的点来间接图象变换,设图象的方程为,的定义域为函数可以看作是函数和复合而成的函数设函数的定义域为,对于,,即或作(表示的定义域关于原点对称)若,在处,可以取函数上的点;,上一......
  • 空间变换
    整理自机器人学导论第二章空间描述和变换描述位置描述用三个正交单位矢量表示一个坐标系{A},如\(X_A,Y_A,Z_A\)对坐标系中的任何点进行定位,用一个矢量来表示该点的位置,如\(P_A\),矢量的哥哥元素用下标x,y,z表示,即\(P^A=(p_x,p_y,p_z)\)姿态描述:\(X_B,Y_B,Z_B\)是\(B\)坐标系......
  • OpenGL入门——矩阵变换与坐标系统
    一、OpenGL的数学库GLM向量和矩阵的运算就不作说明了,直接介绍OpenGL中如何使用矩阵变换。GLM(官网:OpenGLMathematics(g-truc.net))是OpenGL Mathematics的缩写,它是一个只有头文件的库,也就是说只需包含对应的头文件就行了,不用链接和编译。把头文件的根目录复制到项目的includes......
  • 傅里叶高频变换
    https://charlesliuyx.github.io/2018/02/18/%E3%80%90%E7%9B%B4%E8%A7%82%E8%AF%A6%E8%A7%A3%E3%80%91%E8%AE%A9%E4%BD%A0%E6%B0%B8%E8%BF%9C%E5%BF%98%E4%B8%8D%E4%BA%86%E7%9A%84%E5%82%85%E9%87%8C%E5%8F%B6%E5%8F%98%E6%8D%A2%E8%A7%A3%E6%9E%90/       ......