leetcode 最长有效括号_字符指针赋值为什么不能加大括号

leetcode 最长有效括号_字符指针赋值为什么不能加大括号给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = “(()”输出:2解释:最长有效括号子串是 “()”示例 2:输入:s = “)()())”输出:4解释:最长有效括号子串是 “()()”示例 3:输入:s = “”输出:0题解括号匹配:(看作+1,)看作-1,所有满足条件的括号应该是前缀和>=0,并且总和==0class Solution {public: const int INF =

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。

示例 1:

输入:s = "(()"
输出:2
解释:最长有效括号子串是 "()"
示例 2:

输入:s = ")()())"
输出:4
解释:最长有效括号子串是 "()()"
示例 3:

输入:s = ""
输出:0

题解
括号匹配:(看作+1,)看作-1,所有满足条件的括号应该是前缀和>=0,并且总和==0

class Solution { 
   
public:
    const int INF = 0x3f3f3f3f;
    int work(string x){ 
   
        int res = 0;
        for(int i = 0,j = 0,cnt = 0;j < x.size();j ++){ 
   
            if(x[j] == '(')cnt ++;
            else cnt --;
            if(cnt == 0)res = max(res,j - i + 1);
            if(cnt < 0)i = j + 1,cnt = 0;
        }
        return res;
    }
    int longestValidParentheses(string s) { 
   
        int res = 0;
        res = work(s);
        reverse(s.begin(),s.end());
        for(auto &c : s){ 
   
            if(c == '(')c = ')';
            else c = '(';
        }
            
        res = max(res,work(s));
        return res;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168898.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • COM、COM+和DCOM的定义和区别

    COM、COM+和DCOM的定义和区别解释 COM COM 和 DCOM 的定义和区别 COM 是组件对象模型 是实现 3 N 层应用的基础 它的目的就是组件化 应用程序分层 DCOM 是分布式的 COM 也就说可以远程的创建 最初它利用远程自动化来实现 用注册 VBR 的方法来配置客户端 来适应 DCOM 服务器 COM 现在的概念不很清楚 因为它是一个扩展集 MS 现在的 MTS 取代了远程自动化这种原始的功能很弱的方法后 他们似乎已经都是一个集合体

    2025年7月9日
    4
  • LeetCode刷题100道,让你滚瓜烂熟拿下SQL「建议收藏」

    LeetCode刷题100道,让你滚瓜烂熟拿下SQL「建议收藏」SQL每个人都要用,但是用来衡量产出的并不是SQL本身,你需要用这个工具,去创造其它的价值。

    2022年10月8日
    6
  • 通配符掩码

    通配符掩码在访问控制列表中,通配符掩码来指定主机、特定网络或网络的一部分,首先要理解块大小,其用于指定地址范围块大小包括128、64、32、16、8、4等,在需要指定地址范围时,可使用能满足需求的最小块大小,

    2022年7月1日
    26
  • C语言教你怎么改变字体颜色

    C语言教你怎么改变字体颜色初学c的小伙伴可能已经对那个黑底白字的框有些厌倦了,不妨加点颜色,增加加可读性.

    2022年6月20日
    32
  • Problem 2169 shadow

    Problem 2169 shadow

    2022年1月26日
    55
  • [Matlab]绘图颜色[通俗易懂]

    [Matlab]绘图颜色[通俗易懂][Matlab]绘图颜色修改或规定Matlab中几何图形的颜色,对颜色可以有四种描述方法,分别是:颜色名称、短名称、RGB三元组、十六进制颜色代码。Matlab中较美观的颜色(RGB三元组)%%适用于Matlab的RGB颜色[0.00,0.45,0.74]//蓝[0.85,0.33,0.10]//橙红[0.93,0.69,0.13]//橙黄[0.72,0.27,1]//淡紫[0.47,0.67,0.19]//淡绿……待补充Matlab语言%%对点scat

    2022年5月31日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号