ローマ数字は、今日でも使用されている古代の数字体系です。それらを通常の整数に変換することは、プログラミングの一般的な課題です。この変換をエレガントに処理するソリューションを詳しく見てみましょう。
コードに入る前に、ローマ数字がどのように機能するかを理解しましょう。
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 は結果に 1 を加えますromanToInteger("IV") → 4
V 未満なので I が減算されますromanToInteger("IX") → 9
より小さいので減算されます
X
このソリューションは、単純な比較手法を使用して、ローマ数字から整数への変換をエレガントに処理します。このコードは簡潔でありながら、すべての有効なローマ数字入力を処理できるほど強力です。
以上がLeetCode: ローマ数字から整数への詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。