LeetCode 算法 856. 括号的分数
Posted Alex Hub
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 算法 856. 括号的分数相关的知识,希望对你有一定的参考价值。
Ideas
遇到括号那基本就是用栈了。
括号的分数会因为深度的增加而成倍增加,所以利用栈的时候需要记录深度。
遇到一个(的时候,将深度+1,并且新的深度得分置为0,遇到一个)的时候,将深度的得分乘二并加到上一层的深度。
如果遇到的是(),那么只将得分加一。
Code
Python
class Solution:
def scoreOfParentheses(self, s: str) -> int:
stack = [0]
for i in s:
if i == '(':
stack.append(0)
else:
v = stack.pop()
stack[-1] += max(2 * v, 1)
return stack.pop()
以上是关于LeetCode 算法 856. 括号的分数的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode刷题100天—856. 括号的分数(栈)—day03
Leetcode刷题100天—856. 括号的分数(栈)—day03
leetcode 856. 括号的分数(Score of Parentheses)
LeetCode 856 括号的分数[栈] HERODING的LeetCode之路