菜鸟心得001
LeetCode字符串简单题13罗马数字转整数思路根据ds本题用字典才是最简单最快的方法但是由于本人还没学字典的用法所以第一反应是用笨拙的逐字循环读取根据已知条件计算求和。问题和方案1.for循环不熟悉for i in rangestartstopstepstop和step写反了导致所有罗马数字只读取第一个数。2.for i in range因为两个罗马数字组合在一起可能有特殊的计算方式所以我原本希望遇到这种特殊情况用一个elif分支单独判断完成后修改i的值跳过已经被考虑过的下一个数但是由于range方法的特性在实际执行过程中不管循环体内对i做了什么操作执行下一次循环的时候还是执行i1操作导致计算结果和预期不同。所以这里我把for循环改成了while循环 while i lens手动操作i的值规避这个问题。3.如果一定要用for循环呢我们可以再定义一个布尔变量用来标记在处理该数字的时候下一个数字需不需要跳过例如如果该变量的值为TRUE则直接continue直接回到for循环让for循环自动将i1实现跳过。总结在遍历的时候如果需要跳过元素while循环远比for循环灵活两个循环的时间复杂度都是On空间复杂度都是O1https://leetcode-cn.com/problems/roman-to-integer/

相关新闻

LENA-R8与STM32F107VC硬件设计及物联网应用实战

LENA-R8与STM32F107VC硬件设计及物联网应用实战

1. LENA-R8与STM32F107VC的硬件组合解析LENA-R8是u-blox推出的多模通信模块,集成了LTE Cat 1bis和GNSS定位功能。这个邮票大小的模块(16262.2mm)内部包含了基带处理器、射频前端和电源管理单元。特别值得注意的是它的-40C到85C工业级工作温度…

2026/7/29 2:36:00 阅读更多
SQL注入四种类型详解:原理、利用与防御

SQL注入四种类型详解:原理、利用与防御

1. 什么是 SQL 注入?SQL 注入是指攻击者将恶意 SQL 代码插入到输入参数中,应用程序未进行过滤便将其拼接到 SQL 查询语句中,导致数据库执行了非预期的命令。一句话解释就是你输入的内容被直接当作代码执行了2. 四种常见类型2.1 联合查询注入 …

2026/7/29 6:06:06 阅读更多
机器学习与深度学习:核心差异与实战应用指南

机器学习与深度学习:核心差异与实战应用指南

1. 机器学习与深度学习:从理论到实战的全方位解析 在数据爆炸的时代,机器学习(Machine Learning)和深度学习(Deep Learning)已经成为推动技术进步的核心引擎。作为一名从业多年的数据科学家,我见…

2026/7/29 6:06:06 阅读更多
NSAIDs药物全解析:从作用机制到安全使用指南

NSAIDs药物全解析:从作用机制到安全使用指南

1. 从“止痛药”到“抗炎药”:重新认识NSAIDs 在药柜里,布洛芬、阿司匹林、双氯芬酸钠这些名字你一定不陌生。头疼脑热、关节酸痛、运动拉伤,我们总会习惯性地求助于它们。但你是否想过,这些被我们笼统称为“止痛药”的家伙&#…

2026/7/29 6:06:06 阅读更多
Spring Security OAuth2 Scope验证全流程解析与实战

Spring Security OAuth2 Scope验证全流程解析与实战

1. 项目概述:为什么我们需要深入理解OAuth2的scope验证? 如果你正在开发或维护一个基于Spring Security OAuth2的授权服务器或资源服务器,那么“scope验证”这个环节,很可能就是你系统安全防线上最容易被忽视,却又至关…

2026/7/29 5:56:05 阅读更多