【6. N 字形变换】

news2024/11/19 19:32:58

目录

  • 一、题目描述
  • 二、算法原理
  • 三、代码实现

一、题目描述

在这里插入图片描述

二、算法原理

在这里插入图片描述

三、代码实现

class Solution {
public:
    string convert(string s, int numRows) 
    {
        if(numRows==1)
        {
            return s;
        }
        string ret;
        int d = 2 * numRows - 2;
        //第0行
        size_t i = 0, n = s.size();
        while (i < n)
        {
            ret += s[i];
            i += d;
        }
        //第1-n-2行
        for (int i = 1; i < numRows-1; i++)
        {
            int k = i;
            int m = d - i;
            while ((k < n) || (m < n))
            {
                if (k < n)
                {
                    ret += s[k];
                    k += d;
                }
                if (m < n)
                {
                    ret += s[m];
                    m += d;
                }
            }
        }
        //第n-1行
        i = numRows - 1;
        while (i < n)
        {
            ret += s[i];
            i += d;
        }
        return ret;
    }
};

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

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

相关文章

N沟道场效应管 FDA69N25深度图解 工作原理应用

深力科推荐一款 FDA69N25是高压 MOSFET产品&#xff0c;基于平面条形和 DMOS 技术。 该 MOSFET 产品专用于降低通态电阻&#xff0c;并提供更好的开关性能和更高的雪崩能量强度。 该器件系列适用于开关电源转换器应用&#xff0c;如功率因数校正&#xff08;PFC&#xff09;、…

2023年中国公共卫生信息化竞争现状及行业市场规模分析[图]

公共卫生信息化主要是指国家到地方各级卫健委下属的公共卫生健康主管部门&#xff0c;为提高信息化水平&#xff0c;综合运用计算机技术、信息通信技术等信息技术&#xff0c;以提升公共卫生监督执法、食品药品监督执法、卫生信息资源整合、疾病控制预防、从业人员健康体检等业…

Chrome 115之后的版本,安装和使用chromedriver

在Python中使用selenium 时报如下错误&#xff1a; 1. 老版本chrome对应的chromedriver 下载地址&#xff1a;CNPM Binaries Mirror 2. 新版本chrome对应的chromedriver 下载地址&#xff1a;Chrome for Testing availability

iPhone 15 拆机调查来了;小米澎湃 OS 彻底重写底层架构丨 RTE 开发者日报 Vol.69

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」&#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

【C/C++笔试练习】内联函数、缺省参数、函数重载、类定义、不要二、字符串转成整数、Fibonacci数列、合法括号序列判断

文章目录 C/C笔试练习1.内联函数&#xff08;1&#xff09;内联函数的使用&#xff08;2&#xff09;内联函数的使用 2.缺省参数&#xff08;3&#xff09;缺省参数概念理解 3.函数重载&#xff08;4&#xff09;函数重载的定义&#xff08;5&#xff09;函数重载的定义 4.类定…

2023年中国清净剂行业需求现状及前景分析[图]

清净剂用于中和由于燃烧和润滑油氧化产生的酸性物质&#xff0c;并清除颗粒和污物。这类杂质在油中的溶解度有限&#xff0c;因此&#xff0c;清净剂可以最大程度减少沉积物的生成&#xff0c;降低污染&#xff0c;提高环保排放标准。成熟产品有磺酸盐、硫化烷基酚盐、烷基水杨…

前端渲染后端返回的HTML格式的数据

在日常开发中&#xff0c;经常有需要前端渲染后端返回页面的需求&#xff0c;对于不同数据结构&#xff0c;前端的渲染方式也不尽相同&#xff0c;本文旨在对各种情况进行总结。 后端返回纯html文件格式 数据包含html标签等元素&#xff0c;数据类型如下图&#xff1a; 前端通…

分享一下微信小程序怎么添加成绩查询插件

微信小程序如何添加成绩查询插件 一、引言 微信小程序是一种方便快捷的应用程序&#xff0c;可以在微信中使用。随着教育的不断发展&#xff0c;学校和家长对于学生的成绩查询需求也越来越高。通过在微信小程序中添加成绩查询插件&#xff0c;可以为学生和家长提供更加便捷的…

超火的双臂烹饪机器人Project YORI,分分钟成为你的专属大厨!

原创 | 文 BFT机器人 当前行业内有两种通用的烹饪自动化方法&#xff1a;一种是“制造一个可以在普通厨房中运作的烹饪机器人&#xff0c;因为每个人都有厨房”&#xff0c;这听起来很不错&#xff0c;但接下来你就必须使你的烹饪机器人能够在厨房环境中正常运行&#xff0c;这…

极智项目 | 实战人脸识别签到系统

欢迎关注我的公众号 [极智视界]&#xff0c;获取我的更多经验分享 大家好&#xff0c;我是极智视界&#xff0c;本文来介绍 实战人脸识别签到系统。 本文介绍的 实战人脸识别签到系统&#xff0c;提供完整的可以一键执行的项目工程源码&#xff0c;获取方式有两个&#xff1a…

java 调用 360 接口实现批量查询手机号码归属地

网上的手机号码归属地查询&#xff0c;要么限制查询条数&#xff0c;要么收费&#xff0c;于是找到一个 360 提供的查询 api 使用多线程异步查询&#xff0c;Future 确保查询结果顺序与输入顺序一致 核心 Controller package com.example.phonenumber.controller;import cn.h…

铜死亡+铁死亡,搭配WGCNA+单细胞+分型+实验

今天给同学们分享一篇铜死亡铁死亡WGCNA单细胞分型实验的生信文章“Cross-talk between cuproptosis and ferroptosis regulators defines the tumor microenvironment for the prediction of prognosis and therapies in lung adenocarcinoma”&#xff0c;这篇文章于2023年1月…

Vue-Cli - Vue 脚手架的创建 以及 目录结构说明

目录 一、Vue-Cli 1.1、Vue 脚手架的创建 二、Vue 脚手架目录结构说明 1.1、vscode 使用 Vue 脚手架 1.2、结构说明 一、Vue-Cli 1.1、Vue 脚手架的创建 注意&#xff1a;你要提前安装好 node.js &#xff08;官网下载即可&#xff09;&#xff0c;配置好环境变量. a&…

【内存管理】虚拟内存、物理内存之间的关系

什么是虚拟内存、什么是物理内存&#xff1f; Linux 虚拟内存是操作系统中一个重要概念&#xff0c;它允许程序在更大的地址空间中运行&#xff0c;并提供了高效的内存管理机制。 什么是虚拟内存&#xff1f; 虚拟内存是操作系统的一种内存管理技术&#xff0c;它将系统中的…

MacBook忘记开机密码啦!教你怎么找回密码

文章目录 一、前言二、使用恢复模式重置密码2.1 Apple ID找回密码2.2 终端resetpassword重设密码 三、总结 一、前言 在上一章《忘记开机密码啦&#xff01;我教你用ventoy找回密码》&#xff0c;我们已经学会了如何使用ventoy U盘启动器中的ntpwedit工具来找回windows的本地用…

Java模拟双向链表,增删操作

public static void main(String[] args) {ArrayList arrayList new ArrayList();Node zhangsan new Node("张三");Node lisi new Node("李四");Node wanger new Node("王二");//模拟双向链表&#xff0c;将表中元素依次连接起来zhangsan.ne…

【已解决】pyinstaller 将程序打包成 exe 文件后,无法保存视频或者保存的视频为空文件

这里写自定义目录标题 问题描述解决方法方法一方法二 参考 问题描述 使用pyinstaller将python程序打包为exe文件&#xff0c;其中包含保存视频的代码。直接运行脚本时&#xff0c;程序能够正确的保存视频。但是通过pyinstaller打包成exe文件后&#xff0c;exe文件无法保存视频…

EthernetIP 转MODBUS RTU协议网关连接FANUC机器人作为EthernetIP通信从站

远创智控YC-EIPM-RTU网关产品是一款高效的数据采集工具&#xff0c;它可以通过各种数据接口与工业领域的仪表、PLC、计量设备等产品连接&#xff0c;实时采集这些设备中的运行数据、状态数据等信息。采集到的数据经过整合和运算等操作后&#xff0c;可以被传输到其他设备或者云…

@Slf4j打印异常信息打印出堆栈信息

Spring Boot项目中的e.printStackTrace()打印的堆栈信息通常不会自动记录到日志中。这是因为e.printStackTrace()是将异常信息打印到标准错误输出流&#xff08;System.err&#xff09;上&#xff0c;而不是记录到应用程序的日志文件中。 如何使用&#xff1a;Slf4j打印异常信…

【金TECH频道】汇聚多元化超级算力,看见更好的“源启”

越来越多的金融机构开始利用大数据和AI技术&#xff0c;提升信贷业务的效率&#xff0c;利用隐私计算打造开放式金融&#xff0c;让客户随时随地获得金融服务&#xff1b;气象领域&#xff0c;高精度计算让我们能准确地预测恶劣的天气&#xff0c;医疗大数据让部分癌症的治愈成…