给定一个平衡括号字符串 S,按下述规则计算该字符串的分数:

  • () 得 1 分。

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

  • (A) 得 2 * A 分,其中 A 是平衡括号字符串。

      示例 1:输入: "()"输出: 1示例 2:输入: "(())"输出: 2示例 3:输入: "()()"输出: 2示例 4:输入: "(()(()))"输出: 6
    

提示:

S 是平衡括号字符串,且只含有 ( 和 ) 。
2 <= S.length <= 50

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 个人题解:

  • 利用栈存储深度值来依次计算

  • 例"(()(()))"

      000 //(000  //((01  //(()010    //(()(0100  //(()((011  //(()(()03  //(()(())6      //(()(()))
    
  • 个人代码:

    public int ScoreOfParentheses(string S) {Stack<int> stack = new Stack<int>();stack.Push(0);for (int i = 0; i < S.Length; i++){if(S[i]=='('){stack.Push(0);}else{int v = stack.Pop();int w = stack.Pop();stack.Push(w + Math.Max(2 * v, 1));}}return stack.Peek();}

【栈】【856. 括号的分数】【中等】(需回顾)相关推荐

  1. LeetCode 算法 856. 括号的分数

    856. 括号的分数 Ideas 遇到括号那基本就是用栈了. 括号的分数会因为深度的增加而成倍增加,所以利用栈的时候需要记录深度. 遇到一个(的时候,将深度+1,并且新的深度得分置为0,遇到一个)的时 ...

  2. ​力扣解法汇总856. 括号的分数

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描 ...

  3. LeetCode 856. 括号的分数

    1. 题目 给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: () 得 1 分. AB 得 A + B 分,其中 A 和 B 是平衡括号字符串. (A) 得 2 * A 分,其中 A 是平衡 ...

  4. 【栈的应用】括号的分数

    1. 题目描述: 给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: () 得 1 分. AB 得 A + B 分,其中 A 和 B 是平衡括号字符串. (A) 得 2 * A 分,其中 A ...

  5. python 判断括号是否匹配_使用Python实现一个栈判断括号是否平衡

    栈(Stack)在计算机领域是一个被广泛应用的集合,栈是线性集合,访问都严格地限制在一段,叫做顶(top). 举个例子,栈就想一摞洗干净的盘子,你每次取一个新盘子,都是放在这一摞盘子的最上头,当你往里 ...

  6. python括号匹配算法_使用Python的栈实现括号匹配算法

    利用Python列表实现一个栈的结构,再使用栈实现括号匹配的算法,所谓的括号匹配是指在编程语言中,括号是成对出现的,最先出现的左括号,对应于最后的右括号,后出现的左括号对应于最新右括号,符合栈的特征 ...

  7. 利用顺序栈解决括号匹配问题(c++)-- 数据结构

    利用顺序栈解决括号匹配问题(c++)-- 数据结构 参考文章: (1)利用顺序栈解决括号匹配问题(c++)-- 数据结构 (2)https://www.cnblogs.com/yi2105/p/106 ...

  8. C++ 栈的括号匹配

    总结归纳 算法思想: 设置一个空栈,顺序读取括号.读取左括号时,将括号入栈:读取右括号时,弹出栈顶元素,栈顶即是与之匹配的最近的左括号. 匹配不成功的三种情况:(1)读取右括号时,此时栈空,没有与之匹 ...

  9. python括号匹配o(1)复杂度_Python面试题:使用栈处理括号匹配问题

    括号匹配是栈应用的一个经典问题, 题目 判断一个文本中的括号是否闭合, 如: text = "({[({{abc}})][{1}]})2([]){({[]})}[]", 判断所有括 ...

最新文章

  1. Linux简单的http服务器:SimpleHTTPServer
  2. 家乐福首家付费会员店遇到「喜与忧」背后,行业同质化问题浮出水面
  3. js match函数注意
  4. python实现秒杀商品的微信自动提醒功能(附代码)
  5. AIX6.1平台11.2.0.3RAC 实施手册
  6. 拉普拉斯平滑Laplace Smoothing
  7. AliExpress国际速卖通唰信誉用什么虚拟卡用信可以成功扣款?
  8. ssm医院挂号就诊预约系统毕业设计源码250853
  9. Down Payment一个不错的练习
  10. 计算机网络 自顶向下方法 (一) 笔记 总结 第一章 概述
  11. 【PHP+微信开发】实现微信对账单处理
  12. C# SolidWorks 二次开发 API --- 2018版 中文翻译 之官方示例
  13. Execution和ProcessInstance的分别
  14. CC00382.CloudKubernetes——|KuberNetesCI/CD.V20|——|Jenkins.v08|kubeconfig多集群配置.v02|
  15. PyTorch深度学习(23)Transformer及网络结构ViT
  16. stm32Cubemx实用篇(四):SD卡读写实验
  17. 知识点 - 分拆数/整数拆分
  18. 基于ie内核,浏览器自带flash插件
  19. Python 3.6实现单博主微博文本、图片及热评爬取
  20. 如何彻底删除mysql_如何彻底删除mysql - 注册表问题

热门文章

  1. 关于NLP相关技术全部在这里:预训练模型、图神经网络、模型压缩、知识图谱、信息抽取、序列模型、语法分析、文本处理...
  2. 3天造了一个深度学习轮子,生猛!
  3. 综述:Image Caption 任务之语句多样性
  4. Call for Papers | 2019 年 IEEE 国际进化计算大会
  5. Shallow-UWnet:水下图像增强新网络 2021年1月AAAI顶会论文
  6. 【学习笔记】吴恩达机器学习 WEEK1
  7. 从国内的源使用pip安装库,提高安装速度
  8. php简单网页制作代码,用HTML和CSS以及JS制作简单的网页菜单界面的代码
  9. 牛客题霸 SQL5 查找所有员工的last_name和first_name以及对应部门编号dept_no
  10. mysql 有十进制类型吗_MySQL数据类型