Roman to Integer
来源:互联网 发布:js锚点跳转 编辑:程序博客网 时间:2024/05/22 19:27
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
罗马数字转到十进制,首先得知道罗马数字的计数规则:
个位:I,II,III,IV,V,VI,VII,VIII,IX
十位:X,XX,XXX,XL,L,LX,LXX,LXXX,XC
百位:C,CC,CCC,CD,D,DC,DCC,DCCC,CM
从右向左遍历字符串,如果s[i+1]代表的十进制值>s[i],则减去s[i],否则加上s[i]。XXIX:29 XXX:30 XCIII:93 XCV:95 CCC:300 CD:400
int romanToInt(string s){ int length = s.length(); if(length == 0) return 0; map<char,int> m; m['I'] = 1; m['V'] = 5; m['X'] = 10; m['L'] = 50; m['C'] = 100; m['D'] = 500; m['M'] = 1000; int i = length-1; int sum = m[s[i--]]; while(i>=0) { if(m[s[i+1]] > m[s[i]]) sum -= m[s[i--]]; else sum += m[s[i--]]; } return sum;}
0 0
- Integer to Roman & Roman to Integer
- Integer to Roman & Roman to Integer
- LeetCode Roman to Integer && Integer to Roman
- 【leetcode】Roman to Integer | Integer to Roman
- Leetcode - "Roman to Integer" & "Integer to Roman"
- LeetCode:Roman to Integer,Integer to Roman
- Integer to Roman and Roman to Integer
- LeetCode Integer to Roman & Roman to Integer
- Roman to Integer/Integer to Roman
- leetcode - roman to integer & integer to roman
- "Roman to Integer" and "Integer to Roman"
- Roman to Integer &&Integer to Roman
- Roman to Integer and Integer to Roman
- Roman to Integer/Integer to Roman
- LeetCode:Roman to Integer
- LeetCode: Integer to Roman
- LeetCode: Roman to Integer
- LeetCode Integer to Roman
- ssh+dwr实现级联操作
- 编程之美_集合
- typedef函数指针用法 .
- 360一键root后如何解除
- 在指定位置添加连线
- Roman to Integer
- 第8周工作计划表
- 小游戏开发流程
- 关于SSH的Service层和Dao层的接口的讨论
- Computer - Administrator登陆后变成Temp用户
- linux下的socket模型
- 排序算法之堆排序
- Light OJ - 1002 - Country Roads 题解
- eclipse安装WindowBuilder Pro插件