博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Roman to Integer 罗马数字转为整数
阅读量:4107 次
发布时间:2019-05-25

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

题目:

解答:

罗马数字转化为整数时不需要考虑太多的复杂规则,根据罗马数字的书写规则,当前的字母代表的数比下一个数大或相等,那么就加上该数,否则就减去该数。

代码:

class Solution {  public:	  int romanToInt(string s) {		  map
ri; ri.insert(pair
('I', 1)); ri.insert(pair
('V', 5)); ri.insert(pair
('X', 10)); ri.insert(pair
('L', 50)); ri.insert(pair
('C', 100)); ri.insert(pair
('D', 500)); ri.insert(pair
('M', 1000)); int i = 0; int sum = 0; if(s.length() == 0) return sum; else sum = ri[s[0]]; for (i = 1; i < s.length(); i++) { if (ri[s[i]] > ri[s[i - 1]]) sum += (ri[s[i]] - 2 * ri[s[i - 1]]); //这个数比上一个数要大,那么就要先减去上一个已经加上的数,同时加上该数-上一个数。 else sum += ri[s[i]]; } return sum; } };

转载地址:http://eytsi.baihongyu.com/

你可能感兴趣的文章
那些人生“开挂”的程序员,都在干什么?
查看>>
影响科学圈的那些计算机代码
查看>>
如何判断一家互联网公司要倒闭了?
查看>>
想快速上手机器学习?来看下这个 GitHub 项目!
查看>>
GitHub 标星 3.6k,一本开源的深度学习中文教程!
查看>>
9 款你不能错过的 JSON 工具
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
厉害了!Python 编辑器界的神器 Jupyter ,推出官方可视化 Debug 工具!
查看>>
卧槽!Java 虚拟机竟然还有这些性能调优技巧...
查看>>
听说玩这些游戏能提升编程能力?
查看>>
再见,Eclipse...
查看>>
如果你还不了解 RTC,那我强烈建议你看看这个!
查看>>
沙雕程序员在无聊的时候,都搞出了哪些好玩的小玩意...
查看>>
当你无聊时,可以玩玩 GitHub 上这个开源项目...
查看>>
B 站爆红的数学视频,竟是用这个 Python 开源项目做的!
查看>>
安利 10 个让你爽到爆的 IDEA 必备插件!
查看>>
自学编程的八大误区!克服它!
查看>>
早知道这些免费 API,我就可以不用到处爬数据了!
查看>>
Java各种集合类的合并(数组、List、Set、Map)
查看>>
Mysql复制表以及复制数据库
查看>>