摘要:題目羅馬數(shù)字包含以下七種字符,,,,,和。字符數(shù)值例如,羅馬數(shù)字寫做,即為兩個并列的。通常情況下,羅馬數(shù)字中小的數(shù)字在大的數(shù)字的右邊。同樣地,數(shù)字表示為。給定一個羅馬數(shù)字,將其轉(zhuǎn)換成整數(shù)。
[TOC]
題目羅馬數(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 ,即為兩個并列的 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。這個特殊的規(guī)則只適用于以下六種情況:
I 可以放在 V (5) 和 X (10) 的左邊,來表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左邊,來表示 40 和 90。
C 可以放在 D (500) 和 M (1000) 的左邊,來表示 400 和 900。
給定一個羅馬數(shù)字,將其轉(zhuǎn)換成整數(shù)。輸入確保在 1 到 3999 的范圍內(nèi)。
示例 1:
輸入: "III" 輸出: 3
示例 2:
輸入: "IV" 輸出: 4
示例 3:
輸入: "IX" 輸出: 9
示例 4:
輸入: "LVIII" 輸出: 58 解釋: L = 50, V= 5, III = 3.
示例 5:
輸入: "MCMXCIV" 輸出: 1994 解釋: M = 1000, CM = 900, XC = 90, IV = 4.
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/probl...
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
使用的簡單的循環(huán)和條件語句進行解題
class Solution(object): def romanToInt(self, s): """ :type s: str :rtype: int """ num = 0 len_s = len(s) for a,i in enumerate(s): if i == "I": if a+1 >= len_s: num +=1 else: next_i = s[a+1] if next_i == "V" or next_i == "X": num -= 1 else: num += 1 if i == "V": num +=5 if i == "X": if a+1 >= len_s: num +=10 else: next_i = s[a+1] if next_i == "L" or next_i == "C": num -= 10 else: num += 10 if i == "L": num +=50 if i == "C": if a+1 >= len_s: num +=100 else: next_i = s[a+1] if next_i == "D" or next_i == "M": num -= 100 else: num += 100 if i == "D": num +=500 if i == "M": num +=1000 return num執(zhí)行效果
執(zhí)行結(jié)果:通過
執(zhí)行用時 :68 ms, 在所有 Python 提交中擊敗了59.07%的用戶
內(nèi)存消耗 :11.7 MB, 在所有 Python 提交中擊敗了27.43%的用戶
解題效果一般,之后需優(yōu)化
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/44155.html
摘要:題目判斷一個整數(shù)是否是回文數(shù)?;匚臄?shù)是指正序從左向右和倒序從右向左讀都是一樣的整數(shù)。示例輸入輸出示例輸入輸出解釋從左向右讀為。進階你能不將整數(shù)轉(zhuǎn)為字符串來解決這個問題嗎來源力扣鏈接著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。 題目: 判斷一個整數(shù)是否是回文數(shù)?;匚臄?shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù)。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: ...
摘要:字符數(shù)值例如,羅馬數(shù)字寫做,即為兩個并列的。通常情況下,羅馬數(shù)字中小的數(shù)字在大的數(shù)字的右邊。給定一個羅馬數(shù)字,將其轉(zhuǎn)換成整數(shù)。 Create by jsliang on 2019-05-23 13:24:24 Recently revised in 2019-05-23 14:55:20 一 目錄 不折騰的前端,和咸魚有什么區(qū)別 目錄 一 目錄 二 前言 三 解題 ...
摘要:詳細介紹將其他值轉(zhuǎn)成數(shù)字值。此方法更改數(shù)組的長度。詳細介紹解題思路首先,將傳入的數(shù)字轉(zhuǎn)換成字符串,并分割成數(shù)組。本許可協(xié)議授權(quán)之外的使用權(quán)限可以從處獲得。 Create by jsliang on 2019-05-19 09:42:39 Recently revised in 2019-05-19 16:08:24 Hello 小伙伴們,如果覺得本文還不錯,記得給個 star , 小伙伴們...
摘要:第二題羅馬數(shù)字轉(zhuǎn)整數(shù)難度簡單羅馬數(shù)字包含以下七種字符,,,,,和。字符數(shù)值例如,羅馬數(shù)字寫做,即為兩個并列的。通常情況下,羅馬數(shù)字中小的數(shù)字在大的數(shù)字的右邊。給定一個羅馬數(shù)字,將其轉(zhuǎn)換成整數(shù)。 隨便說點啥 TIME:2019-02-01昨晚其實刷了題來著,但是沒有解出來,哭泣!但是,今天重新寫了下,解出來咯~所以今天的題量要增加咯~我會加油的! 第一題 14. 最長公共前綴難度:簡單 ...
摘要:題目給定一個只包括,,,,,的字符串,判斷字符串是否有效。有效字符串需滿足左括號必須用相同類型的右括號閉合。注意空字符串可被認為是有效字符串。解答執(zhí)行效果執(zhí)行結(jié)果通過執(zhí)行用時在所有提交中擊敗了的用戶內(nèi)存消耗在所有提交中擊敗了的用戶 [TOC] 題目 給定一個只包括 (,),{,},[,] 的字符串,判斷字符串是否有效。 有效字符串需滿足: 左括號必須用相同類型的右括號閉合。 左括號必...
閱讀 2112·2021-11-23 09:51
閱讀 3708·2021-10-20 13:49
閱讀 1715·2021-09-06 15:13
閱讀 1827·2021-09-06 15:02
閱讀 3174·2021-09-02 15:11
閱讀 897·2019-08-29 15:37
閱讀 1742·2019-08-29 13:24
閱讀 2280·2019-08-29 11:28