今天继续刷LeetCode,第12题,将整型数字转换为罗马数字。
分析:
对于复杂的罗马数字,需要找到规律,对于特殊的4、9等的表示方法。
问题:
1、找到每一位的值,然后映射为罗马数字。
附上C++代码:
class Solution {
public:
string intToRoman(int num) {
string m[4]={"","M","MM","MMM"};
string c[10]={"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};
string x[10]={"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};
string i[10]={"","I","II","III","IV","V","VI","VII","VIII","IX"};
return m[num/1000]+c[(num%1000)/100]+x[(num%100)/10]+i[num%10];
}
};
附上Python代码:
class Solution:
def intToRoman(self, num: int) -> str:
m=["","M","MM","MMM"]
c=["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"]
x=["","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"]
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]
本文详细解析了LeetCode第12题的解决方案,即将整数转换为罗马数字的问题。通过分析罗马数字的特殊表示规则,如4和9,介绍了C++和Python两种语言的具体实现代码,帮助读者理解并掌握这一转换算法。
81

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



