LeetCode 13. Roman to Integer
来源:互联网 发布:软件测试工程师要求 编辑:程序博客网 时间:2024/05/16 01:16
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
According to the definition. Roman to integer should be:
- 1. A letter repeats its value that many times (XXX = 30, CC = 200, etc.). A letter can only be repeated three times.
- 2. If one or more letters are placed after another letter of greater value, add that amount.
VI = 6 (5 + 1 = 6)
LXX = 70 (50 + 10 + 10 = 70)
MCC = 1200 (1000 + 100 + 100 = 1200)
3. If a letter is placed before another letter of greater value, subtract that amount.IV = 4 (5 – 1 = 4)
XC = 90 (100 – 10 = 90)
CM = 900 (1000 – 100 = 900)
// Assume the input Romans are valid.
#include <string>#include <iostream>using namespace std;int to_integer(char a) { int res; switch(a) { case 'I': res = 1; break; case 'V': res = 5; break; case 'X': res = 10; break; case 'L': res = 50; break; case 'C': res = 100; break; case 'D': res = 500; break; case 'M': res = 1000; break; } return res;}int romanToInteger(string s) { if(s.size() == 0) return 0; int i = 0; int sum = 0; while(i < s.size()) { sum += to_integer(s[i]); if(i > 0 && (to_integer(s[i]) > to_integer(s[i-1]))) sum -= 2 * to_integer(s[i - 1]); i++; } return sum;}int main(void) { cout << romanToInteger("DCXXI") << endl;}
0 0
- LeetCode 13. Roman to Integer
- [LeetCode]13.Roman to Integer
- LeetCode --- 13. Roman to Integer
- [Leetcode] 13. Roman to Integer
- [leetcode] 13.Roman to Integer
- leetcode 13. Roman to Integer
- leetcode 13. Roman to Integer
- LeetCode 13. Roman to Integer
- [LeetCode]13. Roman to Integer
- Leetcode 13. Roman to Integer
- leetcode 13. Roman to Integer
- leetcode 13. Roman to Integer
- LeetCode *** 13. Roman to Integer
- LeetCode 13. Roman to Integer
- LeetCode 13. Roman to Integer
- 【LeetCode】13. Roman to Integer
- Leetcode 13. Roman to Integer
- LeetCode 13. Roman to Integer
- Mysql技术内幕——表&索引算法和锁
- java网络编程基础
- Android学习(32) -- 网络图片下载
- Unbuntu下Hadoop伪分布式环境搭配
- oracle数据库安装2
- LeetCode 13. Roman to Integer
- LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
- Bzoj3676:[Apio2014]回文串:回文自动机
- LeetCode 198. House Robber
- 【BZOJ 3653】 谈笑风生|主席树
- 读书笔记-java基础-知识点
- 抽象类和接口的区别
- Pydev环境搭建ZendStudio 13+python
- [bzoj4527]K-D-Sequence 解题报告