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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javaSocket网络编程

    javaSocket网络编程昨天和今天了解了一下这个网络编程;服务端importjava.io.*;importjava.net.*;publicclassTestServer{publicstaticvoidmain(Stringargs[])throwsException{ServerSocketss=newServerSocket(6666);while(true){Sockets=ss.accept();

    2022年6月16日
  • repeater控件用法_propertygrid控件

    repeater控件用法_propertygrid控件在我们编写程序的时候经常会遇到控件嵌套的问题。通常最经常用到的控件时repeater,以下是一两个列子。HTML&lt;asp:repeaterid="repeaterMain"Runat="server"OnItemDataBound="repeaterMain_ItemDataBound"&gt;&lt;ItemTemplate&gt;&lt;table&g..

    2022年10月13日
  • Latex——在线快速生成表格代码

    Latex——在线快速生成表格代码latex在线生成表格的网站:http://www.tablesgenerator.com/latex_tables这个网站可以通过三种方式来生成latex表格代码:1、自己设置表格;2、直接导入csv表格;3、直接复制表格内容1、自己设置表格点击File,选择newtables,可以设置需要的行列数2、点击importcsvfile,可以直接导入3、点击paste…

    2022年8月11日
  • AnalyticDB for MySQL:PB级云数仓核心技术和场景解析[通俗易懂]

    AnalyticDB for MySQL:PB级云数仓核心技术和场景解析[通俗易懂]2019阿里云峰会·上海开发者大会于7月24日盛大开幕,本次峰会与未来世界的开发者们分享开源大数据、IT基础设施云化、数据库、云原生、物联网等领域的技术干货,共同探讨前沿科技趋势。本文整理自数据库专场中阿里云智能高级技术专家南仙的精彩演讲,本文为分享了阿里云PB级云数据仓库AnalyticDBforMySQL的核心技术以及其应用场景。数据库专场PPT下载本文内容整理自演讲视频以及PPT…

    2022年9月2日
  • 下载swf文件(游戏)的方法[通俗易懂]

    下载swf文件(游戏)的方法[通俗易懂]网页内的swf下载,通常能够能过缓存、数据抓包的方式获取。但对于一些网站(如4399),具有了保护功能,很难通过上面两个办法下载。失败的尝试:1)国内某个弟弟写的小程序这个东西原文在知乎,好象

    2022年7月2日
  • MATLAB 之 wavedec2函数详解

    MATLAB 之 wavedec2函数详解wavedec2函数:1.功能:实现图像(即二维信号)的多层分解,多层,即多尺度.2.格式:[c,s]=wavedec2(X,N,’wname’)    [c,s]=wavedec2(X,N,Lo_D,Hi_D)(我不讨论它)3.参数说明:对图像X用wname小波基函数实现N层分解,这里的小波基函数应该根据实际情况选择,具体选择办法可以搜之或者hel

    2022年6月17日

发表回复

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

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