Timo66

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Question 1

Integer to Roman

Given an integer, convert it to a roman numeral.

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

What we need to notice is the thing like "CM", the smaller one followed by the big one, where you need to substract the smaller one.

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

 

posted on 2015-07-18 02:16  Timo66  阅读(151)  评论(0编辑  收藏  举报