LeetCode力扣_第十三題_羅馬數(shù)字轉(zhuǎn)整數(shù)
2021-07-30 20:43 作者:啥也不會(huì)的小噢 | 我要投稿
噗——吐血。是我不會(huì)了!
題目:https://leetcode-cn.com/problems/roman-to-integer/

????????由于前一題的原因,這題我還是從羅馬數(shù)字一個(gè)一個(gè)遍歷來判斷的,但是這樣遍歷就是存在問題就是難以使各個(gè)模塊的相互之間嚴(yán)謹(jǐn)配合,可能是我自己太菜了,不夠堅(jiān)持琢磨。?。?!
????????直到看見官方的解答,嚯 靠,這樣??!~.
總的思想就是:
????????羅馬數(shù)字的規(guī)律:比如IIV,I是小于V的,當(dāng)I在V的左邊時(shí)為減I,當(dāng)在右邊的時(shí)候?yàn)榧覫。從VII=5+2和IV=5-1可知,在更大的數(shù)字上同樣適用。
因此在遍歷羅馬數(shù)字的時(shí)候,當(dāng)這位字符對應(yīng)的整數(shù)值小于后一位字符對應(yīng)的整數(shù)值的時(shí)候,減去這位字符對應(yīng)的整數(shù)值,大于或等于就是加上。
????????ex:?"MCMXCIV"=M-C+M-X+C-I+V=1994
????????????????"LVIII"=L+V+I+I+I=58
????????看到這種思路耳目一新,上面的代碼就是這么個(gè)思路 。
WAWAWA~

記錄學(xué)習(xí),生生不息~
標(biāo)簽: