leetcode中的括号?# 羅馬數字包含以下七種字符: I, V, X, L,C,D 和 M,我來為大家科普一下關于leetcode中的括号?以下内容希望對你有幫助!
# 羅馬數字包含以下七種字符: I, V, X, L,C,D 和 M。
# 字符 數值 I: 1, V: 5, X: 10, L: 50, C: 100, D: 500, M: 1000.
# 例如, 羅馬數字 2 寫作 II ,即為兩個并列的 1。12 寫作 XII ,即為 X II 。 27 寫作 XXVII, 即為 XX V II 。
# 通常情況下,羅馬數字中小的數字在大的數字的右邊。但也存在特例,例如 4 不寫作 IIII,而是 IV。數字 1 該數字 5 的左邊,所表示的數等于大數 5
# 減小數 1 得到的數值 4 。同樣地,數字 9 表示為 IX。這個特殊的規則隻适用于以下六種情況:
# I 可以放在 V (5) 和 X (10) 的左邊,來表示 4 和 9。
# X 可以放在 L (50) 和 C (100) 的左邊,來表示 40 和 90。
# C 可以放在 D (500) 和 M (1000) 的左邊,來表示 400 和 900。
# 輸入: num = 58 輸出: "LVIII" 解釋: L = 50, V = 5, III = 3
>>> 人生苦短, 我用python, 算法學習, 從點滴開始!<<<
class Solution:
def intToRoman(self, num: int) -> str:
# python3.6後 dict的變成有序的了,可以直接遍曆
di = {
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"
}
result = ""
for k in di:
if num // k: # 判斷整除是否有商
val = num // k # 獲取整除的商
result = di[k] * val
num %= k # 取餘
return result
#打卡##新手小白求過百粉##程序員##算法#
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!