Nous devons écrire une fonction JavaScript qui accepte une chaîne entre crochets équilibrés str comme premier et unique paramètre.
Notre fonction doit calculer et renvoyer le score d'une chaîne selon les règles suivantes -
[] a un score de 1
[A] a un score de 2 * A, où A est la chaîne de support équilibrée.
pour exemple, si l'entrée de la fonction est
input
const str = '[][]';
output
const output = 2;
here est le code -
const findScore = (str = '') => { const arr = [] for(const char of str) { arr.push(char) while(arr[arr.length - 1] === ']') { arr.pop() if(arr[arr.length - 1] === '[') { arr.pop() arr.push(1) } else { let num = arr.pop() while(arr[arr.length - 1] >= 1) { num += arr.pop() } arr.pop() arr.push(2 * num) } } } return arr.reduce((acc, a) => acc + a, 0) }; console.log(findScore(str));
2
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!