首頁 >web前端 >js教程 >在 JavaScript 中尋找括號分數

在 JavaScript 中尋找括號分數

WBOY
WBOY轉載
2023-09-01 18:17:081212瀏覽

在 JavaScript 中查找括号分数

問題

我們需要寫一個 JavaScript 函數,該函數接受平衡的方括號字串 str 作為第一個也是唯一的參數。

我們的函數應根據以下規則計算並傳回字串的分數-

  • #[] 的分數為1

  • AB 的分數為A B,其中A 和B 是平衡括號字串。
  • [A] 的分數為 2 * A,其中 A 是平衡括號字串。

例如,如果函數的輸入是

輸入

const str = '[][]';

輸出

const output = 2;

範例

以下是程式碼-

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

以上是在 JavaScript 中尋找括號分數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除