iT邦幫忙

0

自主學習30日-LeetCode 13:Roman to Integer

  • 分享至 

  • xImage
  •  

13.Roman to Integer

題目

羅馬數字由以下七個符號組成:

符號 值
I 1
V 5
X 10
L 50
C 100
D 500
M 1000

羅馬數字的規則:

一般由 大到小 相加,例如:

III = 3

LVIII = 50 + 5 + 3 = 58

但若 小數字在大數字前面,要相減,例如:

IV = 4

IX = 9

XL = 40

CM = 900

解題思路

1.建立符號對照表

用 Map<Character, Integer> 存每個羅馬字母對應的數字。

2.遍歷字串

從左到右讀取每個字母:

若 當前字母的值 < 下一個字母 → 減去當前值

否則 → 加上當前值

3.回傳結果

累加完畢後回傳 total。

https://ithelp.ithome.com.tw/upload/images/20251017/201692981VLxASedEW.pnghttps://ithelp.ithome.com.tw/upload/images/20251017/20169298oJ8XM57CNn.png


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言