在 JavaScript 中查找括号分数

在 javascript 中查找括号分数

问题

我们需要编写一个 JavaScript 函数,该函数接受平衡的方括号字符串 str 作为第一个也是唯一的参数。

我们的函数应根据以下规则计算并返回字符串的分数 –

[] 的分数为 1

AB 的得分为 A + B,其中 A 和 B 是平衡括号字符串。

[A] 的得分为 2 * A,其中 A 是平衡括号字符串。

立即学习“Java免费学习笔记(深入)”;

例如,如果函数的输入是

输入

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 中查找括号分数的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2692368.html

(0)
上一篇 2025年3月7日 17:40:39
下一篇 2025年2月25日 14:59:21

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 在 JavaScript 中解构对象时如何设置默认值?

    数组和对象解构功能是在JavaScript的ES6版本中引入的。数组和对象的解构允许我们将其值存储在单独的变量中。之后,我们可以使用该变量来访问对象的特定属性的值。 在解构数组对象时我们需要关注的主要问题是默认值。例如,我们在解构对象中添加…

    2025年3月7日
    000
  • 如何在JavaScript中连接正则表达式字面量?

    正则表达式文字是正则表达式,是与字符串匹配的字符序列。有时,开发人员需要组合正则表达式。然而,正则表达式也是字符串的一种类型,但我们不能像字符串一样使用“+”运算符将它们连接起来。 因此,我们首先需要从两个正则表达式中获取标志。之后,我们必…

    2025年3月7日
    200
  • 如何使用 FabricJS 禁用 Circle 的选择性?

    在本教程中,我们将学习如何使用 FabricJS 禁用圆的选择性。圆形是 FabricJS 提供的各种形状之一。为了创建一个圆圈,我们必须创建一个 Fabric.Circle 类的实例并将其添加到画布中。为了修改一个对象,我们必须在 Fab…

    2025年3月7日
    200
  • JavaScript中的函数式编程新课程

    了解 JavaScript 函数式编程的基础知识。在我们的新课程中,Tuts+ 讲师 Jason Rhodes 将帮助您创建一个小型的、主要是命令式的网站,并使用实用的声明性和功能性概念对其进行重构。这是对函数式编程的一个很好的基本介绍,侧…

    2025年3月7日
    200
  • 使用YUIDoc记录JavaScript文档

    记录代码有点像测试;我们都知道我们应该这样做,但我们不太确定如何做,而且大多数人,如果我们诚实的话,根本不这样做,但那些这样做的人都是它的大力支持者。本教程将帮助您快速了解解决该问题的最佳方法之一:yuidoc。 什么是 YUIDoc? Y…

    2025年3月7日
    200
  • JavaScript 程序检查幂等矩阵

    幂等矩阵是具有相同行数和列数的方阵,当我们将矩阵与其自身相乘时,结果将等于同一个矩阵。我们将得到一个矩阵,我们必须确定它是否是幂等矩阵。 数学上− 如果给定矩阵 ix M,则 M 是幂等矩阵,应遵循以下性质 – M*M = M …

    2025年3月7日
    200
  • JavaScript 程序查找二进制字符串任意循环中在开头和结尾处连续放置的 0 的最大数量

    我们将编写一个 JavaScript 程序来查找在二进制字符串的任何循环的开头和结尾处连续放置的零的最大数量。我们的程序将采用二进制字符串作为输入,并返回给定字符串的任何旋转中放置在开头和结尾的零的最大数量。为了解决这个问题,我们将使用字符…

    2025年3月7日
    200
  • 使用Passport为Node.js应用程序提供社交认证

    密码本质上是脆弱的,这已经是一个公认的事实。因此,要求最终用户为他们使用的每个应用程序创建强密码只会让事情变得更糟。 一个简单的解决方法是让用户通过现有的社交帐户(例如 Facebook、Twitter、Google 等)进行身份验证。在本…

    2025年3月7日
    200
  • 使用ngMessages进行AngularJS表单验证

    几乎每个网站都使用表单来执行不同的任务,例如注册用户或获取他们的联系信息。确保填写表单的用户至少在输入字段中输入有效信息非常重要。 还需要向用户显示详细的错误消息,以便他们能够正确填写表单。当您必须处理大量表单元素时,这个过程可能会变得非常…

    2025年3月7日
    200
  • 如何使用 FabricJS 使椭圆不可见?

    在本教程中,我们将学习如何使用 FabricJS 使椭圆不可见。椭圆形是 FabricJS 提供的各种形状之一。为了创建一个椭圆,我们将创建一个 Fabric.Ellipse 类的实例并将其添加到画布中。我们的椭圆对象可以通过多种方式进行自…

    2025年3月7日
    200

发表回复

登录后才能评论