代码随想录算法训练营第七天 | 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字
学习内容344.反转字符串双指针classSolution:defreverseString(self,s:List[str])-None: Do not return anything, modify s in-place instead. left0rightlen(s)-1whileleftright:s[left],s[right]s[right],s[left]left1right-1returns学习心得直接用双指针从两端交换元素往中间靠。反转字符串II给定一个字符串 s 和一个整数 k从字符串开头算起每计数至 2k 个字符就反转这 2k 字符中的前 k 个字符再重新计数。如果剩余字符少于 k 个则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个则反转前 k 个字符其余字符保持原样。classSolution:defreverseStr(self,s:str,k:int)-str:defreversesubstring(text):left,right0,len(text)-1whileleftright:text[left],text[right]text[right],text[left]left1right-1returntext reslist(s)foriinrange(0,len(s),2*k):res[i:ik]reversesubstring(res[i:ik])return.join(res)学习心得先定义一个反转函数实现很简单用双指针list()将字符串 s 转换为字符列表。之后for循环 i in range(0, len(s), 2 * k): res[i : i k] reverse(res[i : i k])。这里注意一个特性 res[i : i k] 当ik超出字符串长度将会返回最后的几个字符。‘’.join(res) 是 Python 中将字符列表拼接成字符串的常用方法。卡码网54.替换数字给定一个字符串 s它包含小写字母和数字字符请编写一个函数将字符串中的字母字符保持不变而将每个数字字符替换为number。例如对于输入字符串 “a1b2c3”函数应该将其转换为 “anumberbnumbercnumber”。对于输入字符串 “a5b”函数应该将其转换为 “anumberb”输入一个字符串 s,s 仅包含小写字母和数字字符。输出打印一个新的字符串其中每个数字字符都被替换为了number样例输入a1b2c3样例输出anumberbnumbercnumber数据范围1 s.length 10000。sinput()result[]forchins:ifch.isdigit():result.append(number)else:result.append(ch)result.join(result)print(result)双指针classSolution(object):defsubsitute_numbers(self,s): :type s: str :rtype: str countsum(1forcharinsifchar.isdigit())# 统计数字的个数expand_lenlen(s)(count*5)# 计算扩充后字符串的大小 x-number 每有一个数字就要增加五个长度res[]*expand_len new_indexexpand_len-1# 指向扩充后字符串末尾old_indexlen(s)-1# 指向原字符串末尾whileold_index0:# 从后往前 遇到数字替换成“number”ifs[old_index].isdigit():res[new_index-5:new_index1]numbernew_index-6else:res[new_index]s[old_index]new_index-1old_index-1return.join(res)if__name____main__:solutionSolution()whileTrue:try:sinput()resultsolution.subsitute_numbers(s)print(result)exceptEOFError:break学习心得直接循环判断替换或者双指针。双指针首先计算字符串里数字的个数isdigit()之后计算nums len(s) geshu * 5 得到我们需要的空字符串的总长度 res [ ] x numsnew_index nums - 1 old_index len(s) - 1进入while循环为res填字符。判断条件old_index 0如果if s[old_index].isdigit: res[new_index - 5 : new_index 1] “number” new_index - 6 else res[new_index] s[old_index] new_index - 1old_index - 1 最后return “”.join(res)当文件直接运行时name的值是 “main”

相关新闻

C++ STL deque容器深度解析:双端队列原理、性能对比与实战应用

C++ STL deque容器深度解析:双端队列原理、性能对比与实战应用

1. deque容器:双端队列的深度解析与实战 在C的STL(标准模板库)中,容器是我们日常开发中打交道最多的部分之一。提到序列容器,很多人第一时间会想到 vector 和 list 。 vector 像一列高速火车,尾部上下…

2026/7/31 13:19:30 阅读更多 →
Python字典get()方法详解:从基础语法到高级应用与性能优化

Python字典get()方法详解:从基础语法到高级应用与性能优化

1. 项目概述:为什么字典的 get() 值得你花时间研究? 在Python的日常开发里,字典( dict )几乎是无处不在的数据结构。无论是处理JSON API响应、配置参数,还是做数据聚合,字典都是我们的首选。…

2026/8/1 15:59:05 阅读更多 →
GESP C++二级备考:从“优美的数字”掌握数位分解与本地调试实战

GESP C++二级备考:从“优美的数字”掌握数位分解与本地调试实战

1. 项目概述:从一道题看GESP备考与实战编程 最近在辅导一些准备GESP(图形化编程能力等级认证)C二级考试的学生,发现大家普遍存在一个误区:拿到编程题,第一反应是去网上搜“标准答案”或者“可复制代码”。比…

2026/8/1 14:38:31 阅读更多 →

最新新闻

ESP32-P4与Wi-Fi 6组合:嵌入式高性能无线连接方案解析

ESP32-P4与Wi-Fi 6组合:嵌入式高性能无线连接方案解析

1. 项目缘起:为什么是ESP32-P4与Wi-Fi 6的组合?最近在捣鼓一个智能家居的网关项目,对无线连接的稳定性和数据吞吐量要求比较高。市面上常见的ESP32-S3方案虽然成熟,但在处理多设备并发、高带宽传感器数据流时,偶尔还是…

2026/8/1 15:59:07 阅读更多 →
工装色彩定制方案,喷涂铝单板解锁多样外观风格

工装色彩定制方案,喷涂铝单板解锁多样外观风格

工装幕墙和室内外装饰选材时,便宜不是关键,最怕“选错材质几年就翻车,返工成本高,整体效果还廉价”。如今,全品类铝单板成了工装主流统一选材。各类铝单板的工装适用情况氟碳平板铝单板:适用于写字楼幕墙、…

2026/8/1 15:59:07 阅读更多 →
从7HP-CAPQLED项目解析高功率紧凑型LED模组的设计与实现

从7HP-CAPQLED项目解析高功率紧凑型LED模组的设计与实现

1. 项目缘起:从“7HP-CAPQLED”这个神秘代号说起最近在整理一些老项目的物料清单时,又看到了“7HP-CAPQLED”这个熟悉的代号。说实话,第一次看到这个组合时,我也是一头雾水,它不像常见的LED型号,也不像标准…

2026/8/1 15:59:07 阅读更多 →
MATLAB视频帧处理全攻略:从VideoReader到VideoWriter的完整流程与优化

MATLAB视频帧处理全攻略:从VideoReader到VideoWriter的完整流程与优化

1. 项目概述:为什么需要自己动手处理视频帧?在图像处理和计算机视觉的日常工作中,我们经常遇到一个看似基础、实则暗藏玄机的任务:把一段视频读进来,一帧一帧地处理,然后再输出成新的视频。你可能觉得&…

2026/8/1 15:59:07 阅读更多 →
Karpathy LLM Wiki解析:大模型知识库构建与RAG技术实践

Karpathy LLM Wiki解析:大模型知识库构建与RAG技术实践

1. 为什么Karpathy的LLM Wiki值得深入研究?当我在2023年第一次接触到Andrej Karpathy整理的LLM Wiki知识库时,立刻被这份资料的深度和系统性震撼了。这份文档不同于普通的教程或技术文档,它更像是一位资深从业者将自己多年积累的大模型实践经…

2026/8/1 15:59:07 阅读更多 →
AI工具翻车后,我重新评估程序员就业的硬通货

AI工具翻车后,我重新评估程序员就业的硬通货

这篇我按“先跑起来、再讲取舍”的方式写《别急着重做程序员就业,先看岗位到底在筛什么》。概念会讲,但重点放在代码怎么组织、哪里容易踩坑。 摘要 上个月帮朋友看简历,对方做Java后端三年,最近半年疯狂刷Claude Code和Codex的…

2026/8/1 15:58:07 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/8/1 13:02:46 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/8/1 10:33:33 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →