leetcode(6)

【中等】力扣算法题解析LeetCode6:Z字型变换 题目要求将字符串按Z字形排列后逐行读取。通过分析周期规律(长度为 2*(numRows-1)),可将字符分配到对应行:首末行每周期1个字符,中间行每周期2个字符。使用 StringBuilder 数组高效构建每行字符串,最后合并结果。Java实现时间复杂度O(n),空间复杂度O(n),高效处理边界条件如单行情况。 阅读详情

第五题有bug调不出来暂时 先说第六题

Z字形变换

主要思想 :这道题 有点像找规律的题 突破口其实是利用一个字符串数组去存储每段(每行)字符串 然后发现每次当遍历到最上面

最下面的时候 就会开始向右遍历 

/**
 * @param {string} s
 * @param {number} numRows
 * @return {string}
 */
var convert = function(s, numRows) {
//     如果总行数为1 直接返回s
    if(numRows==1){
       return s;
       }
// 定义 runway 为方向 true为向下  反之向左
    let runway=false;
    let arrayNum=0;
    let arr=[];
    const minS = Math.min(s.length, numRows);
    for(let i=0;i<minS;i++){
        // 用一个字符串数组来存储数据 每个[i]代表着一行
        arr[i]='';
    } 
// 在第一行和最后一行时开始变换方向
// 且控制arrayNum
    for(const a of s){
        arr[arrayNum]+=a;
//在这里我踩坑了 记住 if里面只是判断了方向问题 三元运算符才是判断数组位置 所以不能放入if中 方向可以不变 但数组位置一直在变
        if(arrayNum==0||arrayNum==numRows-1){
            runway=!runway;
            }
            arrayNum+=runway ? 1 : -1;
        
    }
    let icy='';
    for(const arrs of arr){
        icy+=arrs;
    }
    return icy;
};

 

【力扣LeetCode】java算法刷题大全第6题之合并有序链表 一、合并有序链表 合并两个有序链表 * 将两个升序链表合并为一个新的升序链表并返回。 * 输入: 1->2->4 * 1->3->4 * 输出: 1->1->2->3->4->4 package com.example.dzx.datastrctet; /** * @author 500007 * @ClassName: * @Description: * @date 2022年04月25日 09:27:34 * 阅读详情

相关推荐

python【力扣LeetCode算法题库】6-Z 字形变换

Z 字形变换 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。 请你实现这个将字符串进行指定行数...

NJU phd 在读。 732

vscode主题插件(个人使用两年的详细感受)

使用vscode两年了,一款合适的主题总能让写代码变得更舒适,下面推荐我自己使用过的一些主题: 首先推荐我自己使用最多的一款主题,也就是图片上选中的主题(下面这个也是),quietlight 沉稳大气,还不像默认主题的那种一般化的感觉,事件看久了也不会厌倦,强力推荐(如何你和我一样喜欢亮色主题的话) 第二款,暗色风格的,我最推荐的是onedark++,没有那种古老的感觉,反而...

ICY___的博客 4592

嵌入式SPI总线抽象设计:跨平台驱动与分层解耦实践

SPI(串行外设接口)是嵌入式系统中应用最广泛的同步串行通信协议,其核心价值在于高吞吐、低开销与硬件简洁性。其工作原理基于主从架构、全双工/半双工时序及片选(CS)控制,依赖CPOL/CPHA组合定义四种标准模式。在工程实践中,SPI常面临硬件资源受限、多外设共用总线、MCU平台迁移等挑战,导致驱动复用率低、维护成本高。通过结构体+函数指针实现的分层抽象——将物理总线、协议适配与设备驱动解耦,可显著提升代码可移植性与扩展性。该方法天然支持硬件SPI与GPIO模拟SPI双模式切换,并已在STM32等主流MCU

weixin_42601134的博客 60

常用命令行窗口命令

命令行窗口 dir 列出所有目录 cd 进入目录、文件 目录中 . 表示当前目录 … 表示上一级目录(按照./ …/去理解) md 目录名 创建文件夹 rd 目录名 删除文件夹 打开文件 直接输入文件名 cls 清屏 环境变量(建议在用户变量中创建 path中加分号写你的路径)原理:当系统在当前目录下找不到当前文件或者程序时,会按照顺序在path中的路径里面查找 之前创建m...

ICY___的博客 4262

轴承寿命预测实战:手把手教你用IEEE PHM2012数据集训练模型(附Python代码)

本文详细介绍了如何利用IEEE PHM2012数据集构建轴承剩余寿命预测模型,从数据预处理、特征工程到LSTM模型训练与部署,提供了完整的Python代码实现。通过实战案例,帮助读者掌握预测性维护中的关键技术,提升工业设备的运行安全与效率。

weixin_29186249的博客 311

iSLIP算法实战:如何用Python模拟交换机优先级匹配(附完整代码)

本文详细介绍了如何使用Python实现iSLIP算法,模拟交换机优先级匹配过程。通过核心的指针滑动逻辑和迭代循环策略,构建了一个完整的iSLIP算法模拟器,并加入可视化模块以直观展示匹配过程。文章还提供了完整的代码框架和性能优化建议,适合网络工程师和Python开发者直接集成到测试环境中。

weixin_29313239的博客 249

大致解决 Ubuntu 18.04 系统启动极慢的问题

早在一两个月之前就想升级到 18.04 或是 18.10 了,然而那会儿用 LiveCD 测试得速度实在是慢,启动要很久。干脆没过多纠缠,旧暂时不管了。现因实际需要,不得不升级系统,以便获取到更新的软件包。 从 17.10 向上升级很方便,直接一个 do-release-upgrade 按提示操作即可。期间出现了一个 gcc-multilib-arm-linux-gnueabihf 的依赖问题,a...

Icy_Ybk 的博客 1万+

OCTA-500:用于光学相干断层扫描血管造影研究的视网膜数据集|文献速递-基于生成模型的数据增强与疾病监测应用

数据集提供了丰富的图像和注释,包括两种模态(OCT/OCTA体积)、六种投影类型、四种文本标签(年龄/性别/眼别/疾病)以及七种分割标签(大血管/毛细血管/动脉/静脉/2D FAZ/3D FAZ/视网膜层)。我们介绍了新的 OCTA-500 数据集,该数据集包含来自 500 名受试者的 OCTA 成像,并提供了丰富的图像和标注集。(C) OCTA-500 切片的人工标注示例。图 4. OCTA-500 数据集中文本标签的统计直方图:(a) 性别,(b) 眼别,(c) 年龄,(d) 疾病。

weixin_38594676的博客 1436

canvas实现烟花特效

看过我之前博客的人一定都知道我对canvas赞不绝口,没看过?那就看看下面这篇吧,总结一下对canvas的使用心得就是盘它! 实现效果:   代码如下,注释已写: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name

ICY___的博客 2702

【学习笔记】人群归因分数 PAF 以及combined PAF

人群归因风险比例(Population Attributable Fraction,PAF)是一个流行病学指标,它估计了在总体中,如果能消除一个特定的危险因素,能预防多少百分比的疾病或健康结果。简单来说,PAF回答的是:“如果没有这个风险因素,总体中会有多少病例是可以避免的?

weixin_53499537的博客 4899

C51:PWM+舵机角度控制

PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%.脉冲宽度调制通过占空比编码模拟信号一个周期内,高电平占据时长的百分比如下图所示,最便宜的舵机sg90,常用三根或者四根接线,黄色为PWM信号控制。

qq_73379310的博客 3388

nodejs 事件驱动

其实这是两部分内容异步I/O 事件驱动 、 ——异步I/O就是nodejs是一个异步非阻塞语言 例如fs模块就能很好的理解。这里不多赘述 今天主要谈谈nodejs事件驱动 首先明确一下什么是事件驱动 其实用js理解就是一种事件监听的方式只不过 js是对于dom事件的监听而nodejs是对函数,方法之类的状态变化的监听 没有想象的那么复杂 使用方法: 首...

ICY___的博客 364

运动想象 (MI) 分类学习系列 (19) : EEG-TransNet

本文提出了一种基于注意力机制的卷积神经网络(EEG-TransNet),用于运动想象脑电图(MI-EEG)解码。该方法创新性地通过平均池化和方差池化提取多模态时间信息,并结合自注意力模块捕获长期依赖关系。消融实验表明,方差池化比最大池化更有效(p<0.05),且注意力模块和卷积编码器对特征判别性至关重要。可视化分析验证了该方法能学习到更具判别性的紧凑特征。该工作为MI-EEG解码提供了新的多尺度时间信息融合视角,代码已开源。

走在深度学习前沿的小宋 358

【PythonCode】力扣Leetcode6~10题Python版

Leetcode6-10

weixin_43790276的博客 1859

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

力扣LeetCode第6题Z字型变换

力扣LeetCode第6题Z字型变换

weixin_44061444的博客 506

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

#力扣LeetCode1323. 6 和 9 组成的最大数字 @FDDLC

题目描述: 1323. 6 和 9 组成的最大数字 - 力扣(LeetCode) (leetcode-cn.com) Java代码: class Solution { public int maximum69Number (int n) { if(n/1000%10==6)return n+3000; else if(n/100%10==6)return n+300; else if(n/10%10==6)return n+30;

LiuXingchang的博客 376

假人有限元模型

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

#力扣 LeetCode6. Z 字形变换 @FDDLC

题目描述: 6. Z 字形变换 - 力扣(LeetCode) (leetcode-cn.com) 自测用例: "PAYPALISHIRING" 3 "PAYPALISHIRING" 4 "A" 1 "PAYPALISHIRING" 1 "PAYPALISHIRING" 2 "PAYPALISHIRING" 4 "PAYPALISHIRING" 5 "PAYPALISHIRING" 6 "a,b" 1 "a,b" 2 "a,b" 3 "a,b" 4 "a,b" 5 Java代码: c..

LiuXingchang的博客 1373

力扣6. Z 字形变换

第九十五天 --- 力扣6. Z 字形变换题目一思路:直接模拟代码 题目一 力扣:6. Z 字形变换 思路:直接模拟 1、博主写这道题的时候,看题一小时,写题十分钟,这个题太TMD,抽象了,样例也没看懂。。。。。 2、我们这道题只要看懂样例就能很简单的写出来。 3、 来解读一下样例的意思,我们按照这个顺序去读,就能读出原本的顺序,所以现在就相当于有一个numRows长度的数组,我们要按照顺序读取原本字符串,并按照上上面的顺序放进相应的数组下标中去,最后把数组中各个下标中存的string从左到右加在一起

qq_45678698的博客 762

力扣6.Z字形变换(java)

力扣6.Z字形变换题目思路代码 LeetCode笔记汇总 题目 思路 先考虑特殊情况:当行数为1时,只有一行,即直接输出s即可 当行数大于1时,由于涉及到了较多的字符串拼接,所以使用StringBuilder来处理 主要的思路为按行读取字符,则一共需要读取numRows行。观察图像我们可以发现图像结构的规律为2*numRows-2为一组。 我们以第i行(i从0开始)为例分析:首先每一组的第i个如果存在则一定就是第i行的字符。 当i不为第0行或第numRows行时,则还需添加位于z的斜边的字符 代码 c

k_surge的博客 370

【力扣-6】Z字形变换 python解题思路

【力扣-6】Z字形变换 python解题思路。

ccd9287的博客 545

力扣(LeetCode)刷题,简单题(第6期)

力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。

不脱发的程序猿 4743

力扣LeetCode #6 Z字形变换(Convert)

- 题目描述 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。 来源:LeetCode(https://leetcode-cn.com/problems/zigzag-convers

weixin_49155948的博客 219

6.6-6.13力扣二分查找刷题

剩余的边 c 需要满足 c<nums[i]+nums[j],可以在 [j+1,n−1] 的下标范围内使用二分查找(其中 n 是数组 nums 的长度),找出最大的满足nums[k]<nums[i]+nums[j] 的下标 k,在 [j+1,k] 范围内的下标都可以作为边 c 的下标,将该范围的长度 k−j 累加入答案。需要两个指针来维护这样的 i 和 j。每一次将 j 向右移动一个位置,即 j←j+1,并尝试不断向右移动 k,使得 k 是最大的满足 nums[k]<nums[i]+nums[j] 的下标。

sprintzer的博客 624

【力扣LeetCode】6 Z 字形变换

题目描述(难度中) 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下: 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。 请你实现这个将字符串进行指定行数变换的函数: string convert(string s, int numRow...

Jiewang的博客 368

力扣labuladong一刷day6共8题

回溯一共就三类,分为组合、子集、排列。其中组合与子集又基本一致。这三类又有其他变体,变体主要就是约束条件,共有三类:①、元素无重,不可重复选。②、元素可重,不可重复选。③、元素无重,可重复选。

qq_43511039的博客 775
上一篇: js 字符串添加
下一篇: Jquery的ajax用法
ICY___
博客等级 码龄8年 307粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值