Römische Ziffern sind ein altes Zahlensystem, das auch heute noch Verwendung findet. Sie in reguläre ganze Zahlen umzuwandeln, ist eine häufige Programmierherausforderung. Lassen Sie uns eine Lösung aufschlüsseln, die diese Konvertierung elegant handhabt.
Bevor wir in den Code eintauchen, wollen wir verstehen, wie römische Ziffern funktionieren:
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. Symbolzuordnung
Zuerst erstellen wir ein Objekt, das jede römische Zahl ihrem entsprechenden ganzzahligen Wert zuordnet. Dies erleichtert das schnelle Nachschlagen von Werten.
2. Durch den String iterieren
Wir durchlaufen jedes Zeichen in der Eingabezeichenfolge und verfolgen dabei sowohl das aktuelle als auch das nächste Zeichen.
3. Die Kernlogik
Für jedes Zeichen vergleichen wir seinen Wert mit dem Wert des nächsten Zeichens:
romanToInteger("III") → 3
Jedes I addiert 1 zum ErgebnisromanToInteger("IV") → 4
ist
I wird abgezogen, weil es kleiner als VromanToInteger("IX") → 9
ist
I wird subtrahiert, weil es kleiner als X
Diese Lösung handhabt die Konvertierung römischer Ziffern in ganze Zahlen mithilfe einer einfachen Vergleichstechnik elegant. Der Code ist prägnant und dennoch leistungsstark genug, um alle gültigen römischen Zifferneingaben zu verarbeiten.
Das obige ist der detaillierte Inhalt vonLeetCode: Römische Zahl zu Ganzzahl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!