LeetCode 856. 括号的分数

解题思路

栈模拟。

相关代码

复制代码
class Solution {
    public int scoreOfParentheses(String s) {
        //stack中的值是左括号的的右边所有合法配对括号的值
        Stack<Integer> stack = new Stack<>();
        stack.push(0);
        for(int i=0;i<s.length();i++)
            if(s.charAt(i) == '(') stack.push(0);           
            else{
                int t = stack.pop();
                int k = stack.pop();
                if(t == 0) stack.push(k+t+1);
                else stack.push(k+t*2);
            }    
        return stack.peek();
    }
}
相关推荐
hqyjzsb34 分钟前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
辰烨chenye34 分钟前
LeetCode Hot 100 题解 · 二分篇
java·算法·leetcode
微功夫信息技术42 分钟前
分层多智能体强化学习驱动的非急救转运公平 - 效率统一调度系统研究与实践
人工智能·学习·算法·动态规划
sanjiaomao3331 小时前
从论文公式到Python实现:用单元测试校验滑动平均算法
python·算法·单元测试
乐迪信息2 小时前
如何通过AI防爆摄像机精准判断船舶超速?
大数据·人工智能·算法·安全·目标跟踪
大圣编蚕2 小时前
Java ByteArrayInputStream 详解:从入门到实战
java·开发语言·算法
小玮看世界3 小时前
[Python]OD算法在OD实际运用转化参考清单
开发语言·python·算法
黎阳之光4 小时前
数字孪生赋能全域水网,实现水资源管控与节水降碳双向提升
人工智能·物联网·算法·安全·数字孪生
随意起个昵称4 小时前
【BFS】冰面滑行
算法·宽度优先
(Charon)5 小时前
【C++】定时器进阶:使用最小堆管理定时任务
c++·算法