13.罗马数字转化为阿拉伯数字1-3999
2014-10-06 18:33
701 查看
#include <iostream> #include <string> #include <unordered_map> using namespace std; class Solution { public: int romanToInt(string s) { int result = 0; unordered_map<char, int> Roman; Roman['I'] = 1; Roman['V'] = 5; Roman['X'] = 10; Roman['L'] = 50; Roman['C'] = 100; Roman['D'] = 500; Roman['M'] = 1000; for (int i = 0; i < s.size(); ++i) { if (i == s.size() - 1 || Roman[s[i]] >= Roman[s[i + 1]]) result += Roman[s[i]]; else result -= Roman[s[i]]; } return result; } }; int main() { string s; Solution so; while (cin >> s) cout << so.romanToInt(s) << endl; return 0; }
相关文章推荐
- 12.阿拉伯数字转化为罗马数字1-3999
- 罗马转换成阿拉伯数字,数值大小0-3999
- 13.罗马数字转化为整型
- 罗马字符转化为阿拉伯数字
- leetcode_13. Roman to Integer 罗马数字转化为阿拉伯数字
- 阿拉伯数字(1到4000)转化为罗马数字的javascript实现
- 整数(1~3999)转化为罗马数字
- 送给大家一个把阿拉伯数字与罗马数字互换的代码 -.- 仅支持4000以下的转化
- 阿拉伯数字转化为罗马数字
- java将阿拉伯数字转化为罗马数字 I II III IV V VI
- 罗马数字转化 2.2.1
- 银行货币单位阿拉伯数字转化中文大写 eclipse 下C 与java实现 MOOC
- Java实现的求解经典罗马数字和阿拉伯数字相互转换问题示例
- 将1到1000的阿拉伯数字转换为罗马数字
- LeetCode-13. Roman to Integer(罗马数字转阿拉伯数字)
- c++阿拉伯数字转化为中文大写
- 一亿以内的阿拉伯数字大小写的转化
- js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
- Roman to Integer 罗马数字转阿拉伯数字@LeetCode
- 罗马数字转换阿拉伯数字0~3999