代码随想录算法训练营第七天 | 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字
📅 2026/7/31 13:19:28
👁️ 次浏览
学习内容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”
1. deque容器:双端队列的深度解析与实战 在C的STL(标准模板库)中,容器是我们日常开发中打交道最多的部分之一。提到序列容器,很多人第一时间会想到 vector 和 list 。 vector 像一列高速火车,尾部上下…
📅 2026/7/31 13:19:28
1. 项目概述:为什么字典的 get() 值得你花时间研究? 在Python的日常开发里,字典( dict )几乎是无处不在的数据结构。无论是处理JSON API响应、配置参数,还是做数据聚合,字典都是我们的首选。…
📅 2026/7/31 13:19:28
1. 项目概述:从一道题看GESP备考与实战编程 最近在辅导一些准备GESP(图形化编程能力等级认证)C二级考试的学生,发现大家普遍存在一个误区:拿到编程题,第一反应是去网上搜“标准答案”或者“可复制代码”。比…
📅 2026/7/31 13:19:28
成人学钢琴和孩子不一样。孩子更多是循序渐进,成人往往是一边上班、一边挤时间练,还要考虑邻居、空间、预算和能不能坚持。也正因为这样,成人买电钢琴最怕的不是配置不够豪华,而是买到一台让自己懒得坐上去练的琴。真正适合成人零…
📅 2026/7/31 14:09:25
如何用MPV懒人包在5分钟内获得专业级播放体验?终极指南来了! 【免费下载链接】mpv_PlayKit 🔄 mpv player 播放器折腾记录 Windows conf | 中文注释配置 汉化文档 快速帮助入门 | mpv-lazy 懒人包 Win11 x64 config | 着色器 shader 滤镜 fil…
📅 2026/7/31 14:09:25
外贸经营风险对比分析
外贸客户要求先提供完整方案再决定采购:BBWEYY独立站如何保护售前投入
用资料分层和项目资格确认控制免费咨询成本 核心结论 售前支持应与客户信息、项目潜力和合作诚意匹配,避免无条件输出高成本定制方案。 一、问题为什么越来…
📅 2026/7/31 14:09:25
MDB Tools深度解析:跨平台Access数据库访问与转换架构剖析 【免费下载链接】mdbtools MDB Tools - Read Access databases on *nix 项目地址: https://gitcode.com/gh_mirrors/md/mdbtools
MDB Tools是一套功能完整的开源工具集,专门用于在非Wind…
📅 2026/7/31 14:09:25
聊《别急着换赛道:数据分析经验在 AI 项目里到底值多少?》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要摘要:当大模型应用从 Demo 转向权限、日志和可观测,传统…
📅 2026/7/31 14:09:25
做岩土工程的兄弟,谁没被Geo5折磨过?刚上手那会儿,我盯着满屏的网格和参数发呆,明明照着视频做的,结果算出来的安全系数离谱得吓人。不是软件坏了,是你没摸透它的脾气。今天这篇Geo5教学,不整那些虚头巴脑的理论,直接上干货,带你把那些坑一个个填平。很多人觉得Geo5难…
📅 2026/7/31 14:09:10
数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…
📅 2026/7/31 0:00:23
BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…
📅 2026/7/31 0:00:23
当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…
📅 2026/7/31 0:00:23
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/31 1:18:08
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/31 1:18:08
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/31 1:18:08
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/31 7:18:38
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/30 17:17:14
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/31 5:18:28