12. Integer to Roman
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
解法
将每一位,从0-9相应的罗马数字列出来,相连接。
public class Solution {
public static String intToRoman(int num) {
String[] M = {"", "M", "MM", "MMM"};
String[] C = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
String[] X = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
String[] I = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
return M[num/1000] + C[num/100%10] + X[num/10%10] + I[num%10];
}
}
tips
一个四位数,获得个十百千的计算方法:
个:num%10
十:num/10%10
百:num/100%10
千:num/1000
或:
个:num%10
十:(num%100)/10
百:(num%1000)/100
千:num/1000
本文介绍了一种将整数转换为罗马数字的算法实现,适用于1到3999范围内的整数。通过将千位、百位、十位和个位分别对应不同的罗马数字组合,实现了快速准确的转换。
3406

被折叠的 条评论
为什么被折叠?



