LeetCode:羅馬數(shù)字轉(zhuǎn)整數(shù)

About

之前我制定的學(xué)習(xí)計(jì)劃是每天一道LeetCode題抵屿,因?yàn)閭€(gè)人認(rèn)為前端不需要多好的算法功底粱玲,我只是想通過(guò)做題來(lái)保證自己的大腦是靈活的诸尽,但最近因?yàn)橐恍┦虑榈R了蠢箩,所以沒(méi)更新劳翰,今天開始接著更新敦锌。

羅馬數(shù)字轉(zhuǎn)整數(shù)

題目描述

羅馬數(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) 的左邊盈咳,來(lái)表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左邊边翼,來(lái)表示 40 和 90鱼响。
C 可以放在 D (500) 和 M (1000) 的左邊,來(lái)表示 400 和 900组底。
給定一個(gè)羅馬數(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.

來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/roman-to-integer

解題思路

  1. 先寫一個(gè)字典用來(lái)保存每一個(gè)羅馬字符對(duì)應(yīng)的數(shù)字
  2. 解讀題目可知一般情況下數(shù)值小的字符都在數(shù)值大的字符右側(cè)江滨,但是偶爾也會(huì)在左側(cè),當(dāng)然厌均,有也僅僅會(huì)有一位數(shù)值小的字符會(huì)出現(xiàn)在數(shù)值大的字符的左側(cè)
  3. 根據(jù)上面的規(guī)律唬滑,我們從頭遍歷字符串,如果前面的字符小于后面的字符棺弊,那么就用后面的字符減去前面的字符晶密,如果大于,則直接相加即可模她。

代碼如下

class Solution:
    def romanToInt(self, s: str) -> int:
        dict = {'I': 1, 'V': 5, 'X': 10, 'L':50, 'C':100, 'D': 500, 'M': 1000}
        index = result = 0
        while index < len(s) - 1:
                if dict[s[index]] >= dict[s[index+1]]:
                    result += dict[s[index]]
                    index += 1
                else:
                    result += dict[s[index+1]] - dict[s[index]]
                    index += 2
        if index < len(s):
            result += dict[s[index]]
        return result

運(yùn)行結(jié)果

運(yùn)行結(jié)果評(píng)估

結(jié)束語(yǔ)

還有很多的數(shù)據(jù)結(jié)構(gòu)我不會(huì)稻艰,還有很多的算法我也不會(huì),前端要學(xué)習(xí)的東西還很多侈净,惆悵尊勿,一步一步慢慢來(lái)吧~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末僧凤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子元扔,更是在濱河造成了極大的恐慌躯保,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摇展,死亡現(xiàn)場(chǎng)離奇詭異吻氧,居然都是意外死亡溺忧,警方通過(guò)查閱死者的電腦和手機(jī)咏连,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)鲁森,“玉大人祟滴,你說(shuō)我怎么就攤上這事「韪龋” “怎么了垄懂?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)痛垛。 經(jīng)常有香客問(wèn)我草慧,道長(zhǎng),這世上最難降的妖魔是什么匙头? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任漫谷,我火速辦了婚禮,結(jié)果婚禮上蹂析,老公的妹妹穿的比我還像新娘舔示。我一直安慰自己,他們只是感情好电抚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布惕稻。 她就那樣靜靜地躺著,像睡著了一般蝙叛。 火紅的嫁衣襯著肌膚如雪俺祠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天借帘,我揣著相機(jī)與錄音锻煌,去河邊找鬼。 笑死姻蚓,一個(gè)胖子當(dāng)著我的面吹牛宋梧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狰挡,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼捂龄,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼释涛!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起倦沧,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤唇撬,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后展融,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窖认,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年告希,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扑浸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡燕偶,死狀恐怖喝噪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情指么,我是刑警寧澤酝惧,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站伯诬,受9級(jí)特大地震影響晚唇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盗似,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一哩陕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧桥言,春花似錦萌踱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至扔涧,卻和暖如春园担,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背枯夜。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工弯汰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人湖雹。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓咏闪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親摔吏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸽嫂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容