4 s = "XXVII"result = 0for i in s: result = result + d[i]print(result)s = "IV"result = 0for i in s: result = result + d[i]print(result)但是IV这里是错误的,这是罗马数字的特点。5 s = "IV"result = 0d = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100,...
代码(Python3) # ch_to_num[ch] 表示符号 ch 对应的值ch_to_num:Dict[str,int]={'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000,}classSolution:defromanToInt(self,s:str)->int:# ans 直接初始化为最后一个符号对应的值,# 因为最后一个符号后面没有其他符号,所以必定是直接加...
itemList = [] mydict = {'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 i = 0 while i <len(s): if s[i] in 'IXC' and i!=len(s)-1: if s[i:i+2] in mydict: itemList.append(mydict[s[i:i...
2)构造完整数表,逐个寻找。如果两个连续罗马数字存在于表内,则一同取出。i+=2
第一次看到这道题的时候我是想直接把所有情况都列写出来,那关键就是字符串中的元素的处理。本来想着是切片以后存入列表中,后面发现Python直接可以处理字符串,于是写了如下的代码,效率不是很高。 class Solution: def romanToInt(self, s): c = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100...
罗马数字包含以下七种字符:I,V,X,L,C,D和M。 示例1: 输入: "III" 输出: 3 示例2: 输入: "IV" 输出: 4 示例3: 输入: "IX" 输出: 9 示例4: 输入: "LVIII" 输出: 58 解释: L = 50, V= 5, III = 3. 示例5: 输入: "MCMXCIV" ...
给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。 示例1: 输入: "III" 输出: 3 示例2: 输入: "IV" 输出: 4 示例3: 输入: "IX" 输出: 9 示例4: 输入: "LVIII" 输出: 58 解释: L = 50, V= 5, III = 3.
给定一个罗马数字,将其转换成整数 例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。对应的数值关系分别如下: ...
# @FileName : [leetcode] 13. 罗马数字转整数.py # @Software : PyCharm class Solution:def romanToInt(self, s: str) -> int:# 步骤1:先将题目里要求的罗马数字和对应的阿拉伯数字放到两个列表里 valueList = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];keyList =...
Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。 问题概述: 给定一个罗马数字 ,将罗马数字转换成整数。 如罗马数字I,II,III,IV,V分别代表数字 1, 2, 3, 4, 51,2,3,4,5。 首先要来了解一下罗马数字表示法,基本字符有 7 个:I、V、X、...