题目
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
分析
有关罗马数字的详细解释请参考
https://en.wikipedia.org/wiki/Roman_numerals
因为题目中明确指出输入范围是1~3999,所以我们可以用字符串数组来保存所有出现的字符串,再通过输入的数字来匹配,具体见代码。
这种做法效率相对低下。
class Solution {
public 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%1000)/100]+X[(num%100)/10]+I[num%10];
}
}