Roman to Integer 罗马数字转为整数
来源:互联网 发布:google drive mac 编辑:程序博客网 时间:2024/06/05 16:42
题目:
链接
解答:
罗马数字转化为整数时不需要考虑太多的复杂规则,根据罗马数字的书写规则,当前的字母代表的数比下一个数大或相等,那么就加上该数,否则就减去该数。
代码:
class Solution { public: int romanToInt(string s) { map<char, int> ri; ri.insert(pair<char, int>('I', 1)); ri.insert(pair<char, int>('V', 5)); ri.insert(pair<char, int>('X', 10)); ri.insert(pair<char, int>('L', 50)); ri.insert(pair<char, int>('C', 100)); ri.insert(pair<char, int>('D', 500)); ri.insert(pair<char, int>('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; } };
0 0
- Integer to Roman (整数转为罗马数字)
- Roman to Integer 罗马数字转为整数
- Integer to Roman 整数转换成罗马数字
- Roman to Integer 罗马数字转换成整数
- Integer to Roman 整数转罗马数字
- Roman to Integer 罗马数字转化为整数
- [LeetCode]Integer to Roman整数转罗马数字
- *[lintcode] Integer to Roman 整数转罗马数字
- (LeetCode) Roman to Integer --- 罗马数字转整数
- Roman to Integer 罗马数字转化成整数
- Roman to Integer 罗马数字转化成整数
- python解leetcode——13.Roman to Integer (罗马数字转为整数)
- 12:Integer to Roman(数字转为罗马数字)
- LeetCode | Integer to Roman(整数转换成罗马数字)
- LeetCode | Roman to Integer(罗马数字转换成整数)
- 13.Roman to Integer (罗马数字转成整数)
- leetcode 13 Roman to Integer(罗马数字转换为整数)
- Roman to Integer(罗马数字转换为整数)
- 次优二叉树
- 求全排列
- Redis入门篇
- 使用navicat 备份和还原数据库
- poj2823 Sliding Window
- Roman to Integer 罗马数字转为整数
- 几个例子弄懂JS 的setTimeout的运行方式
- L - Colourful Rectangle(面积并加强版)
- [SDK Manager] 拒绝访问 并且无法下载更新
- java中的集合(Collection)
- ural1003
- Action、Category、Data、Extras知识详解
- 排序算法学习笔记
- hdu 1240 Asteroids!(BFS)