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

Z 字形变换

题目

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

示例 2:

输入:s = "PAYPALISHIRING", numRows = 4
输出:"PINALSIGYAHRPI"
解释:
P     I    N
A   L S  I G
Y A   H R
P     I

示例 3:

输入:s = "A", numRows = 1
输出:"A"

提示:

1 <= s.length <= 1000

s 由英文字母(小写和大写)、‘,’ 和 ‘.’ 组成

1 <= numRows <= 1000

参考答案

#include <bits/stdc++.h>using namespace std;class Solution {
public:string convert(string s, int numRows) {if (numRows <= 1) {return s;}string new_s;for (int row = 0; row < numRows; row++) {int delta;int interval1 = numRows + (numRows - 2) - row * 2;int interval2 = 2 * row;bool flag = false;for (int i = row; i < s.length(); i += delta) {new_s.push_back(s[i]);do {delta = !flag ? interval1 : interval2;flag = !flag;} while (delta == 0);}}return new_str;}
};

相关文章:

Z 字形变换

题目 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时&#xff0c;排列如下&#xff1a; P A H N A P L S I I G Y I R之后&#xff0c;你的输出需要从左往右逐行…...

在JasperReports中自动生成序列号

前言 JasperReports是一个强大的Java报表工具&#xff0c;可以生成PDF、Excel、HTML等多种格式的报表。在设计报表时&#xff0c;我们经常需要为每条记录添加一个唯一的序号。本文将详细介绍如何在JasperReports中实现这一功能。 准备工作 在开始之前&#xff0c;请确保您已…...

SpringBoot3 + MyBatisPlus 快速整合

一、前言 MyBatis 最佳搭档&#xff0c;只做增强不做改变&#xff0c;为简化开发、提高效率而生。 这个发展到目前阶段已经很成熟了&#xff0c;社区也比较活跃&#xff0c;可以放心使用。官网地址&#xff1a;https://baomidou.com 二、快速开始 引入依赖 这里我引入了核心…...

单片机(学习)2024.10.9

目录 汇编整体分类 1.指令 2.伪操作 3.伪指令 汇编代码 汇编初始化 数据搬运指令 算术运算指令 加法 减法 乘法 比较指令 跳转指令 逻辑运算指令 与或&#xff0c;异或 左移右移 内存操作 LOAD/STORE 指令 写 读 CPU的栈机制 栈的概念 栈的种类 1.空栈(…...

操作符详解(C 语言)

目录 一、操作符的分类二、算数操作符1. 除法操作符2. 取余操作符 三、位移操作符1. 进制2. 原码、反码和补码3. 左移操作符&#xff08;<<&#xff09;和右移操作符&#xff08;>>&#xff09; 四、位操作符1. 按位与 &2. 按位或 |3. 按位异或 ^4. 按位取反 ~…...

自动化测试数据:如何正确地选择不同格式文件「详细介绍」?

自动化测试数据&#xff1a;如何正确地选择不同格式文件「详细介绍」&#xff1f; 前言1. 不同的格式文件对比2. 读取文件2.1 读取Excel文件2.2 读取CSV文件2.3 读取YAML文件2.3.1 字典2.3.2 列表2.3.3 混合类型2.3.4 包含列表的字典2.3.5 包含字典的列表2.3.6 复杂嵌套 2.4 读…...

OceanBase中扩容OCP节点step by step

许多用户在开始使用OceanBase时部署OCP&#xff0c;通常选择单节点部署。但随着后续业务规模的不断扩大&#xff0c;会开始担忧单节点OCP在面对故障时可能丧失对集群运维管控的连续性。鉴于此&#xff0c;会将现有的单节点OCP扩展至多节点部署&#xff0c;以此来确保OCP服务的高…...

国家人工智能创新应用先导区数据及城市人工智能先导区准自然实验数据(2006-2023年)

一、测算方式&#xff1a;参考C刊《当代财经》冯婉昕&#xff08;2024&#xff09;老师的做法&#xff0c;本文的核心解释变量为国家人工智能创新应用先导区政策 &#xff08;AI&#xff09;。企业的金融资产配置是企业生产经营的内生变量&#xff0c;因此&#xff0c;如果选择…...

搜维尔科技:感受、握持、推动、连接和挤压虚拟物体,SenseGlove触觉反馈手套拥有先进的触觉技术、一流的可用性和功能

感受、握持、推动、连接和挤压虚拟物体&#xff0c;SenseGlove触觉反馈手套拥有先进的触觉技术、一流的可用性和功能 感受、握持、推动、连接和挤压虚拟物体&#xff0c;SenseGlove触觉反馈手套拥有先进的触觉技术、一流的可用性和功能...

C++中的引用详解

C中的引用详解 什么是引用 引用是一种取别名的机制&#xff0c;用于为变量提供一个新的名字。在C中&#xff0c;引用的语法使用&符号。引用允许我们以一种更安全和直观的方式来操作变量。 为什么要使用指针 在C中&#xff0c;虽然引用提供了一些优势&#xff0c;但指针仍…...

软考中级 - 软件设计师学习笔记 - 1.3 计算机安全

1.3.1 安全威胁 计算安全&#xff1a;指的是计算机资产安全&#xff0c;是要保证这些计算机资产不受自然和人为的有害因素的威胁和危害。 1.3.2 加密技术和认证技术 加密技术&#xff1a;对称加密(私有密钥加密)、非对称加密(公开密钥加密)。对称加密&#xff08;私钥/私有密…...

Unity3D相关知识点总结

Unity3D使用的是笛卡尔三维坐标系&#xff0c;并且是以左手坐标系进行展示的。 1.全局坐标系&#xff08;global&#xff09; 全局坐标系描述的是游戏对象在整个世界&#xff08;场景&#xff09;中的相对于坐标原点&#xff08;0&#xff0c;0&#xff0c;0&#xff09;的位置…...

牛顿迭代多维+原理推导

这是两个函数了两个变量的情况&#xff0c;对于三个函数两个变量&#xff0c;牛顿迭代的雅可比矩阵不能求逆&#xff0c; 右边的增量的求解就不能用这个公式了呢。对于有逆矩阵但不能求逆的公式&#xff0c;这个逆矩阵是求解线性方程时出现的&#xff0c;就可用不求逆的方法解…...

[自然语言处理]RNN

1 传统RNN模型与LSTM import torch import torch.nn as nntorch.manual_seed(6)# todo:基础RNN模型 def dem01():参数1&#xff1a;input_size 每个词的词向量维度&#xff08;输入层神经元的个数&#xff09;参数2&#xff1a;hidden_size 隐藏层神经元的个数参数3&#xff1a…...

MySQL(B站CodeWithMosh)——2024.10.11(14)

ZZZZZZ目的ZZZZZZ代码ZZZZZZ重点ZZZZZZ操作&#xff08;非代码&#xff0c;需要自己手动&#xff09; 8- CASE运算符The CASE Operator_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1UE41147KC?p62&vd_sourceeaeec77dfceb13d96cce76cc299fdd08 在sql_store中&am…...

Transformer的预训练模型

Transformer的预训练模型有很多,其中一些在自然语言处理(NLP)和计算机视觉等领域取得了巨大成功。以下是一些主要的Transformer预训练模型: 1. BERT (Bidirectional Encoder Representations from Transformers) 简介: BERT 是谷歌推出的双向Transformer模型,专注于编码器…...

手撕单例模式

在Go语言中实现单例模式&#xff0c;通常需要确保一个类只有一个实例&#xff0c;并且提供一个全局访问点。Go语言本身没有类的概念&#xff0c;但可以通过结构体和函数来模拟这种行为。下面是一个简单的手撕单例模式的实现示例&#xff1a; 懒汉式&#xff08;延迟初始化&…...

UE4 材质学习笔记06(布料着色器/体积冰着色器)

一.布料着色器 要编写一个着色器首先是看一些参考图片&#xff0c;我们需要找出一些布料特有的特征&#xff0c;下面是一个棉织物&#xff0c;可以看到布料边缘的纤维可以捕捉光线使得边缘看起来更亮 下面是缎子和丝绸的图片&#xff0c;与棉织物有几乎相反的效果&#xff0c;…...

人工智能学习框架

人工智能学习框架是指用于开发和训练机器学习和深度学习模型的软件库和工具集。这些框架帮助开发者更高效地构建、训练和部署模型&#xff0c;加速人工智能应用的开发进程。 常见的人工智能学习框架 TensorFlow 由Google开发&#xff0c;是一个开源的深度学习框架&#xff0c;…...

GEE 教程:Landsat TOA数据计算地表温度(LST)

目录 简介 函数 expression(expression, map) Arguments: Returns: Image reduceRegion(reducer, geometry, scale, crs, crsTransform, bestEffort, maxPixels, tileScale) Arguments: Returns: Dictionary 代码 结果 简介 地表温度(Land Surface Temperature,LS…...

Web编程---配置Tomcat

文章目录 一、目的二、原理三、过程1. 解压“apache-tomcat-10.0.27-windows-x64.zip”文件到指定文件夹。2. 配置环境变量3.修改编码方式&#xff0c;防止 Tomcat 控制台出现乱码。4.启动 Tmocat5.打开浏览器&#xff0c;地址栏输入 http://localhost:8080 &#xff0c;如果看…...

物联网5G模块WIFI模块调式记录(Pico)

调试环境 MCU&#xff1a;Pico1&#xff08;无wifi版&#xff09;5G模块&#xff1a;EC800K&#xff08;iot专用4g卡&#xff09;WIFI模块&#xff1a;ESP01s&#xff08;Esp8266芯片&#xff09;、DX-WF24开发环境&#xff1a;MacBook Pro Sonoma 14.5开发工具&#xff1a;Th…...

中国平安蝉联2024“金融业先锋30”第一名 获金融业ESG最高五星评级

2024年10月15日&#xff0c;中央广播电视总台正式对外发布《金融业ESG行动报告&#xff08;2024&#xff09;》&#xff08;以下简称"《报告》"&#xff09;&#xff0c;并公布了"中国ESG上市公司金融业先锋30"榜单。中国平安凭借在绿色金融、普惠金融、养…...

[图解]题目解析:财务人员最有可能成为业务执行者的是

1 00:00:00,420 --> 00:00:04,760 接下来&#xff0c;是第3章自测题第1部分的第8题 2 00:00:05,090 --> 00:00:08,120 单选&#xff0c;针对以下研究对象 3 00:00:08,900 --> 00:00:11,530 财务人员最有可能成为业务执行者的是 4 00:00:12,800 --> 00:00:15,280…...

零基础学大模型——大模型技术学习过程梳理

“学习是一个从围观到宏观&#xff0c;从宏观到微观的一个过程” 学习大模型技术也有几个月的时间了&#xff0c;之前的学习一直是东一榔头&#xff0c;西一棒槌&#xff0c;这学一点那学一点&#xff0c;虽然弄的乱七八糟&#xff0c;但对大模型技术也算有了一个初步的认识。…...

匹配全国地址的正则表达式工具类

正则表达式&#xff0c;匹配全国五级地址工具类&#xff0c;可以直接放在项目中使用~ 1级&#xff1a;国 &#xff08;可忽略不填&#xff09; 2级&#xff1a;**省、**自治区、**直辖市、**特别行政区、&#xff08;四个直辖市可忽略不填&#xff09; 3级&#xff1a;**市、**…...

Notepad++ 使用技巧

notepad 高级“查找模式” 1&#xff09;两个换行换一行 选中为 “扩展&#xff08;\n, \r, \t, \0, \x…&#xff09;” &#xff0c;查找目标里面可以写上\r\n\r\n&#xff0c;替换为\r\n 2&#xff09;移除空行 查找目标&#xff1a;\r\n\r\n&#xff0c;替换为&#xf…...

《语音识别芯片选型全攻略》

《语音识别芯片选型全攻略》 一、语音识别芯片性能评估&#xff08;一&#xff09;主控芯片性能评估&#xff08;二&#xff09;接口需求分析&#xff08;三&#xff09;可靠性评估&#xff08;四&#xff09;生产工艺考量&#xff08;五&#xff09;湿敏等级判断 二、语音识别…...

【MySQL】VARCHAR和CHAR的区别?

目录 区别存储方式最大长度存取效率 使用场景参考 在MySQL中&#xff0c;VARCHAR和CHAR是两种常用的字符串数据类型&#xff0c;它们各自有不同的特点和适用场景。下面我将和大家一起了解这两种数据类型的区别及使用场景。 区别 存储方式 CHAR(N)&#xff1a;定长存储&#…...

SQL Server日期查询常用语句

一、以下是SQL 日期截取 & SQL Server日期比较日期查询常用语句 select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),-,), ,),:,) 20040912110608 select COUNVRT(varchar(12) , getdate…...