leetcode13
来源:互联网 发布:淘宝发安能物流好恶心 编辑:程序博客网 时间:2024/05/01 11:54
Roman to Integer
国庆假期前的最后一篇博客,兑现自己的诺言,跳过的题目把它补上。
跟之前的Integer to Roman类似。
仔细观察罗马数字的规律实际上核心在于:
小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数,反之相减。
仔细研究这句话:
并且记住罗马数字的特殊字符:
本题中:
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
假设现在有一罗马数字
XCVIII表示98
那么现在我们从X开始,X表示的数字10小于C100,则我们减去X,得到-10
而C表示的数字100大于V表示的5,则加上100得90
以此类推,可以得到-10+100+5+1+1+1=98
代码如下:
class Solution {public: int romanToInt(string s) { int sum=0;int strLen = s.size();map<char,int> myMap;myMap['I']=1;myMap['V']=5;myMap['X']=10;myMap['L']=50;myMap['C']=100;myMap['D']=500;myMap['M']=1000;//vector<int> myVec(4,0);int i=0;int j;while( i < strLen ){while(i<strLen&&myMap[s[i]] >= myMap[s[i+1]]){sum = sum + myMap[s[i]];i++;}while(i<strLen&&myMap[s[i]] < myMap[s[i+1]]){sum = sum - myMap[s[i]];i++;}}return sum; }};
最后祝自己和共同奋斗的程序员们国庆快乐。
0 0
- leetcode13
- leetcode13
- leetcode13
- leetcode13
- leetcode13.singleNumber
- leetcode13题解
- Leetcode13: Roman to Integer
- [LeetCode13]Roman to Integer
- leetcode13 Roman to Integer
- leetcode13 Roman to Integer
- LeetCode13:Roman to Integer
- Leetcode13. Roman to Integer
- leetcode13 Roman to Integer
- LeetCode13 Roman to Integer
- leetcode13: Roman to Integer
- LeetCode13 Roman to Integer
- leetcode13. Roman to Integer
- LeetCode13. Roman to Integer
- 意图(Intent)讲解3:安卓使用意图(Intent)全局变量方法传递数据
- 51单片机之音乐代码
- JS函数定义方式
- USACO 2.1 Hamming Codes (迭代)
- Windows平台安装Beautiful Soup
- leetcode13
- ios-后台播放音乐
- 51单片机之音乐播放器的制作
- 浅析java异常处理机制——理论篇
- js跨域访问的一个helloworld程序
- 学习笔记:DataTables之数据读取和操作(java对象转换为json对象)
- JAVA 运算符和条件结构
- Spring MVC 实现增删改查
- 项目24.4个人所得税计算器if语句版