Leetcode 13 羅馬數字轉整數
阿新 • • 發佈:2018-06-18
lee turn style 數字 多少 數字字符串 羅馬 leetcode 位置
- 將每個羅馬字母對應的整數寫成字典格式,將輸入的羅馬數字字符串轉換成列表形式
- 一開始想的是怎麽將羅馬字母的對應位置找出來,利用列表循環相加
- 後來發現了規律,‘IV‘和’I‘+‘V‘只相差2,以此類推,最後將得到的總和減去多少個x裏面的2就好了
def Rome(x): dict={ ‘I‘:1, ‘V‘:5, ‘X‘:10, ‘L‘:50, ‘C‘:100, ‘D‘:500, ‘M‘:1000 } z=list(x) print(z) sum=0for i in z: sum=sum+dict[i] if ‘IV‘ in x or ‘IX‘in x: num = x.count(‘IV‘)+x.count(‘IX‘) sum = sum - num * 2 if ‘XL‘ in x or ‘XC‘in x: num=x.count(‘XL‘)+x.count(‘XC‘) sum=sum-num*20 if ‘CD‘ in x or ‘CM‘in x: num=x.count(‘CD‘)+x.count(‘CM‘) sum=sum-num*200 return sum
Leetcode 13 羅馬數字轉整數