Integer to Roman

Easy, Msc

Question

將一個整數轉化為羅馬數字

Notes

假設數字范圍1到 3999

Solution

羅馬數字和數字的對應關系如下表


Roman to Integer

將相減的特殊情況都放到map中。

class Solution(object):
    def intToRoman(self, num):
        """
        :type num: int
        :rtype: str
        """
        values = [1000,900,500,400,100,
                  90,50,40,10,9,5,4,1]
        symbols = ['M','CM','D','CD',
                   'C','XC', 'L', 'XL',
                   'X', 'IX', 'V', 'IV', 'I']
        i = 0
        ret = ''
        while num>0:
            k = num/values[i]
            for j in xrange(k):
                ret += symbols[i]
                num -= values[i]
            i += 1
        return ret
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容