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

leetcode刷题(罗马数字转数字)

1.题目描述
在这里插入图片描述
2.解题思路
这时候已经给出了字母对应的数字,我们只需要声明一个字典,将罗马数字和数字之间的对应关系声明即可。其中可能涉及到会出现两个连续的罗马字母代表一个数字,这时候我们需要判断遍历的字符和将要遍历的下一个字符是否存在于字典的key中,注意下一个字符的下标不要超过字母的range。
3.代码实现

class Solution:def romanToInt(self, s: str) -> int:length=len(s)dictnum={"I":1,"V":5,"X":10,"L":50,"C":100,"D":500,"M":1000,"IV":4,"IX":9,"XL":40,"XC":90,"CD":400,"CM":900}all_keys = list(dictnum.keys())num=0count=0for i in range(0,length):i=i+countif i>=length:breakif i+1==length:num=num+dictnum[s[i]]else:if s[i]+s[i+1] not in all_keys:num=num+dictnum[s[i]]else:num=num+dictnum[s[i]+s[i+1]]count=count+1return num
http://www.lryc.cn/news/301126.html

相关文章:

  • 什么是NAT网关?联通云NAT网关有什么优势
  • CVE-2023-41892 漏洞复现
  • 【每日一题】06 排序链表
  • 【精品】关于枚举的高级用法
  • Vue2学习第一天
  • HAL STM32通过multi_button库处理按键事件
  • 随机过程及应用学习笔记(一)概率论(概要)
  • 洛谷_P1059 [NOIP2006 普及组] 明明的随机数_python写法
  • 爆火的人工智能开源open-interpreter源码解析
  • POM设计模式思路,详解POM:概述与介绍,POM思路梳理+代码示例(全)
  • 1、学习 Eureka 注册中心
  • 何为分账系统?
  • 机器学习10-特征缩放
  • Java基于微信小程序的医院挂号小程序,附源码
  • HarmonyOS一杯冰美式的时间 -- 验证码框
  • GitLab配置SSHKey
  • 通过QT制作一个模仿微信主界面的界面(不要求实现具体通信功能)
  • 作物模型狂奔:WOFOST(PCSE) 数据同化思路
  • 腾讯云4核8G服务器能支持多少人访问?
  • 多重背包问题 ⅠⅡ Ⅲ
  • 挑战杯 python的搜索引擎系统设计与实现
  • 【LeetCode: 103. 二叉树的锯齿形层序遍历 + BFS】
  • C#学习(十三)——多线程与异步
  • MySQL 数据库安装教程详解(linux系统和windows系统)
  • 从汇编分析C语言可变参数的原理,并实现一个简单的sprintf函数
  • Word docx文件重命名为zip文件,解压后直接查看和编辑
  • SpringBoot中公共字段的自动填充
  • 【天衍系列 03】深入理解Flink的Watermark:实时流处理的时间概念与乱序处理
  • day07.C++类与对象
  • String讲解