Heim  >  Artikel  >  Web-Frontend  >  Suchen Sie in JavaScript nach Klammerbrüchen

Suchen Sie in JavaScript nach Klammerbrüchen

WBOY
WBOYnach vorne
2023-09-01 18:17:081063Durchsuche

在 JavaScript 中查找括号分数

Frage

Wir müssen eine JavaScript-Funktion schreiben, die eine ausgeglichene Zeichenfolge str in eckigen Klammern als ersten und einzigen Parameter akzeptiert.

Unsere Funktion sollte die Punktzahl einer Zeichenfolge gemäß den folgenden Regeln berechnen und zurückgeben:

  • [] hat eine Punktzahl von 1.

  • AB hat eine Punktzahl von A + B, wobei A und B ausgeglichene Klammern sind Saiten.
  • [A] hat eine Punktzahl von 2 * A, wobei A die ausgeglichene Klammerzeichenfolge ist.

Zum Beispiel, wenn die Eingabe der Funktion

Eingabe

const str = '[][]';

Ausgabe

const output = 2;

Beispiel

Hier ist der 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));

Ausgabe

2

Das obige ist der detaillierte Inhalt vonSuchen Sie in JavaScript nach Klammerbrüchen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen