Given a roman numeral, convert it to an integer.
来源:互联网 发布:mac登陆windows 编辑:程序博客网 时间:2024/06/07 03:56
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999
思想:
知道罗马数的规则,其实是不难的
罗马数字是阿拉伯数字传入之前使用的一种数码。罗马数字采用七个罗马字母作数字、即Ⅰ(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。记数的方法:
(1)相同的数字连写,所表示的数等于这些数字相加得到的数,如 Ⅲ=3;
(2)小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数,如 Ⅷ=8、Ⅻ=12。
(3)小的数字(限于 Ⅰ、X 和 C)在大的数字的左边,所表示的数等于大数减小数得到的数,如 Ⅳ=4、Ⅸ=9;
(4)在一个数的上面画一条横线,表示这个数增值 1,000 倍。
public class RomanToInteger {public int romanToInt(String s){ int nums[] = new int[s.length()]; for(int i=0;i<s.length();i++){ switch(s.charAt(i)){ case 'M': nums[i]=1000; break; case 'D': nums[i]=500; break; case 'C': nums[i]=100; break; case 'L': nums[i]=50; break; case 'X': nums[i]=10; break; case 'V': nums[i]=5; break; case 'I': nums[i]=1; break; } } int sum=0; for(int i=0; i<nums.length-1;i++){ if(nums[i]<nums[i+1]){ sum-=nums[i]; }else{ sum+=nums[i]; } } return sum+nums[nums.length-1]; }}
阅读全文
0 0
- Given a roman numeral, convert it to an integer.
- Given an integer, write a function to determine if it is a power of two.
- Given an integer, write a function to determine if it is a power of two
- Convert Number Into Roman Numeral
- leetCode Given an integer (signed 32 bits), write a function to check whether it is a power of 4
- Implement atoi to convert a string to an integer.
- Implement atoi to convert a string to an integer.
- leetcode 8 Implement atoi to convert a string to an integer.
- Convert Integer A to Integer B
- How can I convert a floating-point value to an integer in C?
- How Do I Convert an Integer to a String in Excel VBA
- Convert a string to an enum
- Convert a Java OutputStream to an InputStream
- Convert a Java OutputStream to an InputStream
- Convert a Java OutputStream to an InputStream
- Convert a Java OutputStream to an InputStream
- Read/convert an InputStream to a String
- Convert a given tree to its Sum Tree
- android aspectJ报错“transformClassesWithExtractJarsForDebug“
- JAVA程序员要知道的 Linux命令
- Ionic从零单排(五)——Ionic程序与Java后台进行数据交互
- 『ORACLE』更改表名(11g)
- JAVA常用排序算法之简单选择排序
- Given a roman numeral, convert it to an integer.
- 查看端口占用情况
- 原生态JDBC程序问题总结
- swipe js插件使用
- poj3281 Dinig(最大流)
- 字符串数组
- 离散数学10
- Eclipse修改包访问规则
- [LeetCode] Flatten Binary Tree to Linked List 将二叉树展开成链表 C++