13. Roman to Integer
来源:互联网 发布:网络ip电话 编辑:程序博客网 时间:2024/05/07 15:42
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
class Solution {public: int romanToInt(string s) { int cnt = 0; int n = s.size(); for(int i = 0; i < n - 1; i++) { if(tonumber(s[i]) < tonumber(s[i+1])) cnt -= tonumber(s[i]); else cnt += tonumber(s[i]); } cnt += tonumber(s[n - 1]); return cnt; } int tonumber(char ch) { switch(ch) { case 'I': return 1; case 'V': return 5; case 'X': return 10; case 'L': return 50; case 'C': return 100; case 'D': return 500; case 'M': return 1000; default: return 0; } return 0; }};
better answer map的用法 写的太精巧。,
int romanToInt(string s) { static unordered_map<char, int> ROMAN = {{'I', 1}, {'V', 5}, {'X', 10}, {'L', 50}, {'C', 100}, {'D', 500}, {'M', 1000},}; int value = 0; for (int i = 0; i < s.size(); i++) value += ((i < s.size() - 1 && ROMAN[s[i+1]] > ROMAN[s[i]]) ? -ROMAN[s[i]] : ROMAN[s[i]]); return value; }
0 0
- 13. Roman to Integer
- 13.Roman to Integer
- 13. Roman to Integer
- 13.Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 下落
- sql 如何是表ID 自动增加
- NIO和OIO
- 全屏activity跳转非全屏activity页面抖动问题的解决
- UMEditor上传的图片太大 使编辑器拉伸
- 13. Roman to Integer
- Java 模运算应用
- 一天一条Linux指令-screen
- POJ 3252 E - Round Numbers(数位dp)(模板)
- SQL语句的执行原理分析
- 论如何正确地shua访问量_python
- 算法运行时间、logN、NlogN 之间的比较
- SSL与TLS 区别 以及介绍
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别