当前位置: 首页 > news >正文

13. 罗马数字转化为字符串

https://leetcode.cn/problems/roman-to-integer/

难度:简单

题目说:

  • I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。

  • X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。

  • C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。

也就是特殊情况只有这六种,输入的正确性不需要代码来保证。

程序:

class Solution:def romanToInt(self, s: str) -> int:maps = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}res = 0# 遍历字符串for i in range(len(s)):# 把 map 里的值拿出来,而不要直接修改 mapval = maps[s[i]]if i <= len(s) - 2 and maps[s[i]] < maps[s[i + 1]]:val = -valres += valreturn res
http://www.gsyq.cn/news/47960.html

相关文章:

  • 解析到本地127的神奇域名
  • Ai元人文:尊严
  • 四、中断(基于北京迅为电子)
  • Sora 后思考:从 AI 工具到 AI 平台,产业 AGI 又近了一步 - 指南
  • Spring AI Alibaba 项目源码学习(三)-Graph 执行流程分析
  • UEFI Boot Manager
  • noip6 多校1
  • 通过开发环境部署工具安装qt相关c++开发环境
  • 模式识别与机器学习课程笔记(11):深度学习 - 详解
  • Python字符串常用操作速查表(全面版v1.0 - 2025年11月12日修订)
  • 05.创建型 - 简单工厂模式(Simple Factory Pattern)
  • RabbitMQ延迟队列rabbitmq_delayed_message_exchange
  • Mac安装Visual Studio 2019.dmg详细步骤(附图解,小白也能懂,附安装包)
  • Polygon:从入门到入门
  • Linux C/C++ 学习日记(27):KCP协议(三):源码分析与使用示例 - 实践
  • 麒麟桌面系统2503安装openjdk21
  • E. Journey
  • Linux优秀的系统--信号(3--信号的保存、阻塞)
  • 深入解析:SQL提数与数据分析指南
  • 大家来写 ICPC 西安(没写完)
  • 你的代码正在腐烂!你的团队正走在死亡螺旋上:技术债务积累的5个危险信号!
  • 使用WiX创建Windows应用安装包 - -YADA
  • 学生信息管理系统团队项目随笔
  • 第八天 测试用例编写
  • 没用的博客园页面的要素介绍
  • 结婚证识别科技:利用OCR和深度学习实现婚姻证件信息的自动提取与结构化处理
  • BOE(京东方)荣获第四届“纪念彼得德鲁克中国管理奖” 创新管理模式获权威认可
  • 青少年电子设计比赛培训笔记3
  • 使用rpmbuild将源代码制成rpm包
  • 【LVGL】进度条部件