digit, tens digit, hundreds, thousands
class Solution {
public String intToRoman(int num) {
/*
Symbol I V X L C D M
Value 1 5 10 50 100 500 1,000
Symbol IV IX XL XC CD CM
Value 4 9 40 90 400 900
*/
// 1->9 I, II, III, IV, V, VI, VII, VIII, IX
// 10->90 X, XX, XXX, XL, L, LX, LXX, LXXX, XC
// 100->900 C, CC, CCC, CD, D, DC, DCC, DCCC, CM
// 1000->4000 M, MM, MMM
String[][] digits = new String[4][];
digits[0] = new String[]{"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
digits[1] = new String[]{"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
digits[2] = new String[]{"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
digits[3] = new String[]{"", "M", "MM", "MMM"};
String result = digits[3][num / 1000] + digits[2][num % 1000 / 100] + digits[1][num % 100 / 10] + digits[0][num % 10];
return result;
}
}
No comments:
Post a Comment