[LeetCode][Java] Integer to Roman

原创 2015年07月09日 10:12:28

题目:

Given an integer, convert it to a roman numeral.

Input is guaranteed to be within the range from 1 to 3999.


题意:

给定一个整数,将其转化为罗马数字。

题目给定的输入保证在1-3999之间。


算法分析:

 参考了博客http://www.cnblogs.com/springfor/p/3886459.html


 * 对老中来说,不熟悉罗马数字的规律是个问题。其实就是那么几个符号,然后规律就是 1,4,5,9,10 然后每次十倍循环。
 * 算法就是给一个数,大于1000的时候就写上一个M, 还大于1000,再写一个M… 终于小于1000了,看看大于900不?,大于500不…如此类推。
 * 罗马数字为以下表示形式:
  I 1
  V 5
  X 10
  L 50
  C 100
  D 500
  M 1,000

AC代码:

public class Solution 
{
    public String intToRoman(int num) 
    {
        String str = "";    
        String [] symbol = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};    
        int [] value = {1000,900,500,400, 100, 90,  50, 40,  10, 9,   5,  4,   1};   
        for(int i=0;num!=0;i++)
        {  
            while(num >= value[i])
            {  
                num -= value[i];  
                str += symbol[i];  
            }  
        }  
        return str;  
    }
}


版权声明:本文为博主原创文章,转载注明出处

相关文章推荐

LeetCode 12 Integer to Roman(C,C++,Java,Python)

Problem: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the ra...

leetcode解题之 12&13. Integer to Roman Java版(罗马数字和数字的转换)

leetcode解题之 12. Integer to Roman &&13. Roman to Integer Java版(罗马数字和数字的转换)...

【Leetcode】Roman to Integer JAVA

public class romanToInteger { public static void main(String args[]){ String s="XLIV"; romanToI...

【LeetCode-面试算法经典-Java实现】【012-Integer to Roman(数字转罗马字符)】

【012-Integer to Roman(数字转罗马字符)】输入一个数字,将它转成一个罗马数字,输入的数字在[1, 3999]之间。   罗马数字的表示:   个位数举例: (I, 1) (II,...

[LeetCode][12]Integer to Roman解析 int转罗马字符时间复杂度为常数的实现-Java实现

Q: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the ran...

[Leetcode] Roman to Integer (Java)

Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 ...

LeetCode第13题--Roman to Integer(Java实现)

LeetCode第13题–Roman to Integer(Java实现)原题Given a roman numeral, convert it to an integer.Input is guar...

[leetcode 13] Roman to Integer

题目: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the ra...

[leetcode]详解Integer to Roman

Integer to RomanRoman与Integer的转换规则?From Wikipedia 现在用的罗马数字由7个字符表示,如下表: 字符 值 I 1 V 5 X...
  • CY_TEC
  • CY_TEC
  • 2016年06月15日 12:01
  • 425

Leetcode:integer_to_roman

将给定的数字(阿拉伯数字)转化成罗马数字。数字不会大于3999
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[LeetCode][Java] Integer to Roman
举报原因:
原因补充:

(最多只允许输入30个字)