博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]题解(python):013-Roman to Integer
阅读量:6305 次
发布时间:2019-06-22

本文共 848 字,大约阅读时间需要 2 分钟。

题目来源:

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


 

题意分析:

        这道题目和上一题目相反,是将罗马数字转化成阿拉伯数字。


 

题目思路:

       只要知道罗马数字和阿拉伯数字之间是怎么转换的就可以了。先做一个字符和数值对应的字典,{'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000};如果发现输入的字符串后一位比前一位小,则是出现4,9之类的,那么将前一个字符对应的数值减去两次就可以了。


 

代码(python):

 

1 class Solution(object): 2     def romanToInt(self, s): 3         """ 4         :type s: str 5         :rtype: int 6         """ 7         d = {
'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000} 8 ans = 0 9 size = len(s)10 i = 011 while i < size:12 if i > 0 and d[s[i]] > d[s[i - 1]]:13 ans += d[s[i]] - 2 * d[s[i - 1]]14 else:15 ans += d[s[i]]16 i += 117 return ans
View Code

 

 

 


 转载请注明出处:http://www.cnblogs.com/chruny/p/4817835.html

转载于:https://www.cnblogs.com/chruny/p/4817835.html

你可能感兴趣的文章
BOM:文档对象模型 --树模型
查看>>
我的Android进阶之旅------>WindowManager.LayoutParams介绍
查看>>
segment
查看>>
获取鼠标的原始移动值
查看>>
Linux信号 编程
查看>>
有关滚动与位置
查看>>
Box2D自定义重力
查看>>
chpasswd
查看>>
mysqldump --single-transaction 和--lock-tables参数详解
查看>>
android 数据库_sql语句总结
查看>>
python购物车
查看>>
解决python2和python3的pip冲突
查看>>
面试/编程
查看>>
linux每日命令(16):head命令
查看>>
公司内部分享【富有成效的每日站会】总结
查看>>
打造一个上传图片到图床利器的插件(Mac版 开源)
查看>>
iOS横竖屏
查看>>
thinkphp判断更新是否成功
查看>>
Do While ... Loop 与 Do Until ... Loop 的区别
查看>>
【Linux】查询某个字符串出现次数
查看>>