A.每日一题:856. 括号的分数

题目链接:856. 括号的分数(中等)

算法原理:

解法:O(N)一次遍历

0ms击败100.00%

时间复杂度O(N)

根据题意总结出以下规律:

():1分,()深度为0

(()):2分,最内层()深度为1

((())):4分,最内层()深度为2

(((()))):8分,最内层()深度为3

因此我们可以直接得出最内层()对整体的贡献:

遇到( 就深度d++,当遇到第一个)时,就可以直接计算最内层()对整体的贡献 2ᵈ,用1<<d表示

累加所有()对结果的贡献,即为返回值

Java代码:

java 复制代码
class Solution {
    //856. 括号的分数
    public int scoreOfParentheses(String S) {
        char[] s=S.toCharArray();
        int d=0;
        int ret=0;
        for(int i=0;i<s.length;i++){
            if(s[i]=='(') d++;
            else{
                d--;
                //计算最里面的()对整体的最终贡献
                if(s[i-1]=='(') ret+=1<<d;
            }
        }
        return ret;
    }
}
相关推荐
文丑颜不良啊21 分钟前
LeetCode1461~1480题目解析
java·leetcode
2301_780789668 小时前
跨平台适配!SDK 游戏盾兼容全终端游戏场景
java·网络·ddos
学长毕设9 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
ZhengEnCi9 小时前
Agent 架构怎么选:从单 Agent 到多 Agent 编排的选型决策指南
算法·架构
步行cgn9 小时前
FormHttpMessageConverter 详解:Spring MVC 中表单数据的读写转换器
java·spring·mvc
龙亘川9 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
金銀銅鐵9 小时前
[Java] 用 CLI 展示 EnumMap 增删键值对时的内部变化
java·源码·ai编程
秋天的怀念_David10 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas10010 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
Pniubi10 小时前
力扣283移动零(双指针法)
算法·leetcode·职场和发展