在 JavaScript 中放置整数,确保它们位于正确的索引处


问题

我们要求编写一个 JavaScript 函数,该函数接收一个字符串 str,它仅包含 '[' 或 ']'。 

我们的函数应该在任何位置添加最少的方括号('[' 或 ']'),以便生成的括号组合字符串有效。最后,我们应该返回添加的最少括号数。

例如,如果输入函数

输入

const str = '[]]';

输出

const output = 1;

输出说明

因为如果在开头添加 '[',该字符串将处于平衡状态。

示例

const findAdditions = (str = '') => {
   let left = 0
   let right = 0
   for (let i = 0; i < str.length; i++) {
      if (str[i] === '[') {
         left += 1
      } else if (str[i] === ']') {
         if (left > 0) {
            left -= 1
         } else {
            right += 1
         }
      }
   }
   return left + right;
};
console.log(findAdditions(str));

输出

1

更新时间:23-Apr-2021

63 次浏览

开启您的 职业生涯

完成课程,获得认证

入门
广告