羅馬數字是一種古老的數字系統,至今仍在使用。將它們轉換為常規整數是一個常見的程式設計挑戰。讓我們分解一個可以優雅地處理這種轉換的解決方案。
在深入程式碼之前,讓我們先了解羅馬數字的工作原理:
function romanToInteger(str) { let symbols = { I: 1, V: 5, X: 10, L: 50, C: 100, D: 500, M: 1000, } let result = 0 for (let i = 0; i < str.length; i++) { const current = str[i] const next = str[i + 1] if (symbols[current] < symbols[next]) { result -= symbols[current] } else { result += symbols[current] } } return result }
1。符號映射
首先,我們建立一個對象,將每個羅馬數字映射到其相應的整數值。這使得快速查找值變得容易。
2。遍歷字串
我們循環遍歷輸入字串中的每個字符,追蹤當前字符和下一個字符。
3。核心邏輯
對於每個字符,我們將其值與下一個字符的值進行比較:
romanToInteger("III") → 3
每個 I 將結果加 1romanToInteger("IV") → 4
I 被減去,因為它小於 VromanToInteger("IX") → 9
I 被減去,因為它小於 X
這個解決方案透過使用簡單的比較技術,優雅地處理羅馬數字到整數的轉換。該程式碼簡潔但功能強大,足以處理所有有效的羅馬數位輸入。
以上是LeetCode:羅馬數字到整數的詳細內容。更多資訊請關注PHP中文網其他相關文章!