Codifica: conversione di numeri romani in numeri interi in JavaScript- LeetCode(13)
In questo articolo, discuteremo di un pezzo di codice progettato per convertire i valori romani in numeri interi.
Il codice è una funzione JavaScript denominata "romanToInt" che accetta un argomento stringa "s", che rappresenta un numero romano. La funzione converte il numero romano in un numero intero e restituisce il risultato.
La funzione inizia definendo un oggetto "mappa" che associa ogni simbolo di numero romano al valore intero corrispondente. Ad esempio, "I" corrisponde a 1, "V" corrisponde a 5 e così via.
Successivamente, la funzione dichiara una variabile "risultato" e la inizializza a 0. Questa variabile verrà utilizzata per memorizzare il risultato intero finale.
La funzione utilizza quindi un ciclo for per scorrere ogni carattere nella stringa di input "s". Per ogni carattere, la funzione cerca il valore intero corrispondente nell'oggetto "mappa".
Se il carattere corrente non è l'ultimo carattere della stringa, la funzione controlla il valore del carattere successivo. Se il carattere successivo ha un valore superiore al carattere corrente, la funzione aggiunge la differenza tra i due valori alla variabile "risultato". Questo perché i simboli dei numeri romani possono essere combinati per rappresentare valori più grandi, come "IV" (4) o "IX" (9).
Infine, la funzione restituisce il valore "risultato" finale, che rappresenta l'equivalente intero del numero romano di input.
Ad esempio, se chiamiamo "romanToInt("XXI")", la funzione restituirà 21.
Ecco un frammento di codice che spiega la funzione "romanToInt" in modo dettagliato:
function romanToInt(s) {
const map = {
I: 1,
V: 5,
X: 10,
L: 50,
C: 100,
D: 500,
M: 1000
};
let result = 0;
for (let i = 0; i < s.length; i++) {
let value = map[s[i]]; // Look up the integer value of the current character
console.log(`${s[i]} maps to ${value}`);
if (i + 1 < s.length) {
let nextValue = map[s[i + 1]];
console.log(`Next character ${s[i+1]} maps to ${nextValue}`);
if (nextValue > value) {
value = nextValue - value; // Calculate the combined value of two symbols
console.log(`Combined value of ${s[i]} and ${s[i+1]} is ${value}`);
i++;
}
}
result += value; // Add the current value to the final result
console.log(`Result so far: ${result}`);
}
return result;
}
Ad esempio, se chiamiamo "romanToInt("XXI")", l'output della console sarà simile a questo:
Se sei interessato a saperne di più sulla codifica in Javascript, assicurati di seguirmi per ulteriori frammenti di codice ed esempi. Condividerò preziose informazioni e suggerimenti su come padroneggiare la lingua e migliorare le tue capacità di sviluppatore. Quindi, resta sintonizzato per ulteriori aggiornamenti e continuiamo a imparare insieme.
Grazie per aver letto. Buon apprendimento
Sostieni la nostra pubblicazione seguendola
Java 8: predicato, consumatore e fornitore Perché le startup dovrebbero scegliere React Native rispetto alle applicazioni ibride? Serializzazione e deserializzazione in Java [Interni di Java Parte 6] [Seconda parte] Parte 2: Principali domande frequenti su JavaScript (6–9) Integrazione di Splunk con SpringBoot - Parte finale
![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































