Leetcode 12. 整数转罗马数字 (每日一题 20210827)
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 12. 整数转罗马数字 (每日一题 20210827)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
羅馬數(shù)字包含以下七種字符:?I,?V,?X,?L,C,D?和?M。字符 數(shù)值
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
例如, 羅馬數(shù)字 2 寫做?II?,即為兩個(gè)并列的 1。12 寫做?XII?,即為?X?+?II?。 27 寫做??XXVII, 即為?XX?+?V?+?II?。通常情況下,羅馬數(shù)字中小的數(shù)字在大的數(shù)字的右邊。但也存在特例,例如 4 不寫做?IIII,而是?IV。數(shù)字 1 在數(shù)字 5 的左邊,所表示的數(shù)等于大數(shù) 5 減小數(shù) 1 得到的數(shù)值 4 。同樣地,數(shù)字 9 表示為?IX。這個(gè)特殊的規(guī)則只適用于以下六種情況:I?可以放在?V?(5) 和?X?(10) 的左邊,來表示 4 和 9。
X?可以放在?L?(50) 和?C?(100) 的左邊,來表示 40 和?90。?
C?可以放在?D?(500) 和?M?(1000) 的左邊,來表示?400 和?900。
給你一個(gè)整數(shù),將其轉(zhuǎn)為羅馬數(shù)字。鏈接:https://leetcode-cn.com/problems/integer-to-romanclass Solution:def inttoRoman(self, num:int)->str:dict_num = {1000:'M', 900:'CM', 500:'D', 400:'CD', 100:'C', 90:'XC', 50:'L', 40:'XL', 10:'X', 9:'IX', 5:'V', 4:'IV', 1:'I'}res = ""for key in dict_num:if num // key != 0:count = num // keyres += dict_num[key] * countnum = num % keyreturn res
總結(jié)
以上是生活随笔為你收集整理的Leetcode 12. 整数转罗马数字 (每日一题 20210827)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 415. 字符串相加
- 下一篇: Leetcode 剑指 Offer 58