LeetCode 6. ZigZag Conversion

LeetCode 6. ZigZag Conversion(Z字形变换) 题目 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:&amp 阅读详情

思路1:自己想到的最直观的思路,观察每一行的数的规律,进行解决,但是自己写乱了,没有AC.

思路2:首先构建一个Vector<string>数组,Vector中的每一个元素代表某一行的字符串。从左到右扫描原始字符串,然后按照顺序将字符插入对应行的字符串中。

1.vector<string> rows(10); 初始生成一个容量为10的数组

2.curRow,定义为行的游标,指示目前所处的行位置 ;goingDown,利用goingDown游标来控制是上行还是下行,在curRow == 0 或 curRow == numRows - 1的时候取非

3.curRow += goingDown ? 1 : -1; 三目运算符优先运算

4. for(char c : s)  ;  for(string row : rows) 对 s和rows进行遍历

class Solution {
public:
    string convert(string s, int numRows) {
        //很自然的字符,按照顺序进行扫描
        if (numRows == 1) return s;

        vector<string> rows(min(numRows, int(s.size())));
        int curRow = 0;
        bool goingDown = false;

        for (char c : s) {
            rows[curRow] += c;
            if (curRow == 0 || curRow == numRows - 1) goingDown = !goingDown;
            
            curRow += goingDown ? 1 : -1; //三目运算符,优先级高于赋值运算符
        }

        string ret;
        for (string row : rows) ret += row; //把ret拼接起来
        return ret;
    }
};

 

STM32-CubeMx-HAL库-串口空闲中断+DMA——利用HAL_UARTEx_ReceiveToIdle_DMA实现不定长数据接收 阅读详情

相关推荐

深入解析璞致PZ-ZU47DR RFSoC核心板:硬件架构与多通道ADC/DAC设计实战

本文深入解析璞致PZ-ZU47DR RFSoC核心板的硬件架构与多通道ADC/DAC设计实战。作为Xilinx Zynq UltraScale+ RFSoC系列的代表产品,PZ-ZU47DR集成了8通道5GSPS ADC和8通道9.85GSPS DAC,支持直接射频采样,大幅简化射频链路设计。文章详细介绍了其技术优势、设计挑战及实战技巧,为5G小基站、毫米波等应用场景提供高效解决方案。

meat5的博客 843

LeetCode 6. ZigZag Conversion Python3

LeetCode 6. ZigZag Conversion Python3 Description 点击查看题目 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 fixe...

与你的博客 322

论文阅读笔记:Extended Vision Transformer (ExViT) for Land Use and Land Cover Classification

注意力机制驱动的深度模型最近取得了成功,如最具代表性的视觉转换器(ViT),吸引了一波高级研究来探索它们对更广泛领域的适应。然而,遥感(RS)领域中基于Transformer的方法更关注单模态数据,这可能会在充分利用不断增长的多模态地球观测数据时失去可扩展性。为此,我们提出了一种新的多模式深度学习框架,通过在最小修改的情况下扩展传统的ViT,针对土地利用和土地覆盖(LULC)分类任务。

嗑研狗的日常 945

Leetcode 6 ZigZag Conversion

Leetcode 6 ZigZag Conversion 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...

博学 笃志 切问 近思 159

C++中为什么要引入引用变量?

C++引用机制的设计哲学在于平衡性能与安全性。它解决了指针的三个痛点:语法噪音、空指针风险和语义模糊,同时保持了指针的效率优势。引用必须绑定有效对象且不可重绑定的特性增强了安全性,其值语义语法更直观。尤其在运算符重载和const引用场景中,引用展现了不可替代的优势。本质上,引用是编译器优化的指针实现,体现了C++"零开销抽象"的核心思想——既保持底层性能,又提供高级抽象。这种设计允许开发者根据场景灵活选择指针或引用,反映了C++多范式共存的语言智慧。

教学 & 技术专栏 176

非华为设备实现多屏协同:最新电脑管家破解安装指南

本文提供了在非华为电脑上安装华为电脑管家并实现多屏协同功能的详细破解指南。通过绕过硬件检测机制,用户可在联想、戴尔等设备上体验与华为生态类似的无缝文件拖拽、跨屏操作等功能。文章涵盖了从系统准备、工具下载、破解安装到手机连接及故障排查的全流程,助您打破设备壁垒,提升办公效率。

weixin_29209805的博客 1137

leetcode解题报告6. ZigZag Conversion

leetcode解题报告6. ZigZag Conversion题目地址 难度是medium题目描述给定一个字符串,按照zigzag的方式排,然后输出按这种方式排之后的顺序的字符串。 (比较复杂,但看例子就很明白了,具体看题目地址)我的思路刚看的时候,觉得是模拟类的题目,直接按zigzag的方式排就好了。但是,对字符串按某个方式排是比较抽象的,排成某个图案是让人来看的,但对机器或程序来说,还是以某

sysu_xiaoming的博客 468

AI Agent开发大全第二十课-如何开发一个MCP(从0开发一个MCP Server)

大模型的MCP火了,可是无论是Claude官网本身自带Sample还是全网任何一本教程没有一个可以真正应用在生产环境中的。要么就是只能在本地以文件IO流的方式运行要么干脆连编译都出错,真正的mcp server和client是怎么编写的?如何运行在分布式环境?本教程就带大家真正从0开始以“AI计算食物热量“为例带大家真正学习mcp开发的全过程。

打造全国最全的AI Agent开发知识领域的博客 1804

LeetCode题目:6.ZigZag Conversion

LeetCode题目:6.ZigZag Conversion 原题链接:https://leetcode.com/problems/zigzag-conversion/description/ 解题思路:对指定行row,找出逻辑,得到公式,然后进行计算即可。核心思想:对第一行和第row行,一个之字有两个字符,相邻字符的距离为2(row-1)。对第i行,一个之字有三个字符,某字符到下两个字符的距离

MyCodecOdecoDecodE的博客 380

1、开启 Microsoft Power Automate 自动化之旅

本文介绍了 Microsoft Power Automate 的基本概念和其在信息时代自动化需求中的重要作用。Power Automate 是 Power Platform 的一部分,能够通过无代码/低代码的方式自动化处理重复性任务,例如邮件处理、文件复制等,从而提升工作效率。文章还详细讲解了 Power Automate 的核心术语、登录方式、创建第一个流程的操作步骤,并通过示例帮助用户快速上手。无论是终端用户还是管理员,都可以通过本文了解如何利用 Power Automate 实现业务流程自动化。

corn8的博客 169

基于STM32单片机设计的智能水温控制系统

本项目研究并实现了一种基于STM32单片机的智能水温控制系统。系统以STM32F103RCT6作为主控制器,通过DS18B20温度传感器实时采集水温数据,利用PID控制算法精确调节5V直流防水型70W加热棒的功率输出,确保水温恒定在设定范围内。此外,采用OLED显示屏显示当前水温和预设上限阀值,并集成ESP8266-WiFi模块与自研Android手机APP进行远程通信和控制。用户可通过本地按键或手机APP设置温度阀值,实现实时监控与智能化管理。整个系统设计旨在提高水资源利用效率,提升生活及工业用水环境的舒

8792

LeetCode Notes_#6 Zigzag Conversion

LeetCode Notes_#6 Zigzag ConversionLeetCode Contents 题目思路和解答思路解答要注意的一些点参考 题目 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want...

baji9701的博客 194

SAP RAP 校验全流程:从 EML 读取到消息上屏与阻止落库

本文系统梳理了 SAP ABAP RAP 中的校验流程(The Validation Process),结合 Airline/Connection 案例,详细讲解了三类核心校验:语义键唯一性、外键有效性和字段间一致性。文章覆盖了 EML 的 READ ENTITIES 操作、reported-* 与 failed-* 结构的使用方法、消息创建与字段绑定技巧,以及处理草稿数据时的 UNION 查询策略。通过代码示例演示了如何实现校验逻辑、生成错误消息并阻止无效数据持久化,同时提供了常见问题的排查建议。全文注重

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 335

LeetCode 6 :Zigzag Conversion

LeetCode 6 :Zigzag Conversion题目大意给定一个字符串,将其按照Z字形排列成给定行,逐行输出排列后的字符串。The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern

Cecilia_whf的博客 509

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

LeetCode 6. ZigZag Conversion , Z 字形变换 C#

前言 本文介绍了 LeetCode 第 6 题 , “ZigZag Conversion”, 也就是 “Z 字形变换” 的问题. 本文使用 C# 语言完成题目,介绍了多种方法供大家参考。 题目 English LeetCode 6. ZigZag Conversion The string “PAYPALISHIRING” is written in a zigzag pattern on a ...

wf824284257的博客 931

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

leetCode 6:ZigZag Conversion

leetCode 6:ZigZag Conversion 题目: 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 legib

tuobadon的专栏 425

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【Leetcode】6. ZigZag Conversion

题目地址: https://leetcode.com/problems/zigzag-conversion/ 比较直观的做法是对每行分别统计,然后最后汇总。代码如下: import java.util.ArrayList; import java.util.List; public class Solution { public String convert(String s, int ...

数学、算法爱好者的博客 254

Leetcode 6:ZigZag Conversion

原题链接:ZigZag Conversion   一开始的思路是根据所给字符串及 Z 行数计算出末元素所在的行列数,进而用二维数组来计算blabla…但算到后期发现不用这么复杂。。。 原理如下图 对于给定的 z 型串,我们取 2*numRows-2为一个周期(除数),以字符串 s 的长度为被除数;z 型串的第一行元素所在位置除以除数,余数皆为 1,第二行元素所在位置除以除数余数,余数为 0 或 ...

wayne17的博客 300

leetcode 6 ZigZag Conversion

题目: 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 N A P

大三狗现在才努力还不算晚吧?! 3349

基于Docker Compose构建个人开发者中转站:文件共享、内网穿透与轻量服务部署

在软件开发与运维实践中,容器化技术通过封装应用及其依赖,实现了环境的一致性与部署的可移植性,极大地简化了跨平台服务的交付流程。其核心原理在于利用操作系统层面的虚拟化,为每个应用提供独立的运行环境,从而解决了依赖冲突和环境差异的难题。这一技术为个人开发者和小型团队带来了显著的工程价值,使得在有限资源下快速搭建、测试和管理多种服务成为可能。典型的应用场景包括临时的文件同步与共享、内网服务的公网暴露、以及轻量级应用的原型部署。本文聚焦于如何整合Docker、Nginx Proxy Manager和File Bro

weixin_34008784的博客 396

[leetcode]6. ZigZag Conversion

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...

chenshengta6990的博客 114

Leetcode:6. ZigZag Conversion

Leetcode:6. ZigZag Conversion 参考:http://blog.csdn.net/linhuanmars/article/details/21145039#reply,找规律 public String convert(String s, int nRows) { if(s == null || s.length...

哎呀妈呀脑壳疼脑壳疼 151

【leetcode】6. ZigZag Conversion

题目: 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 N A P L S ...

zxc120389574的博客 263

Leetcode——6. ZigZag Conversion

题目原址 https://leetcode.com/problems/zigzag-conversion/description/ 题目描述 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display thi...

想当厨子的程序媛 305
上一篇: LeetCode 5. Longest Palindromic Substring
下一篇: Leetcode.7. Reverse Integer
DedicateToAI
博客等级 码龄9年 6粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值