CSDN编程挑战里的题目

给定只包含括号字符'('和 ')''的字符串,请找出最长的有效括号内子括号的长度。
举几个例子如下: 例如对于"( ()",最长的有效的括号中的子字符串是"()" ,有效
双括号数1个,故它的长度为 2。 再比如对于字符串") () () )",其中最长的有效
的括号中的子字符串是"() ()",有效双括号数2个,故它的长度为4。 再比如对于
"( () () )",它的长度为6。 换言之,便是有效双括号"()"数的两倍。 给
定函数原型int longestValidParentheses(string s),请完成此函数,实现上述功能。

我提交的程序CSDN反馈是有问题,但又没给说具体的出错测试用例.所以我也没有再进一步调试,感觉我的代码没问题.

 1 #include <stdio.h>
 2 #include <iostream>
 3 #include <string>
 4
 5 #include <cmath>
 6 #include <cfloat>
 7 #include <cstring>
 8 #include <cstdio>
 9
10 int longestValidParentheses(const char* s)
11 {
12     int len = strlen(s);
13     int leftBracket[256];
14     memset(leftBracket, 0, sizeof(leftBracket));
15     int rst = 0;
16     int lastStart = 65535;
17     int leftBracketNum = 0;
18     for (int i = 0; i < len; i++)
19     {
20         if (s[i] == '(')
21         {
22             leftBracket[leftBracketNum] = i;
23             leftBracketNum++;
24         }
25         else if (s[i] == ')')
26         {
27             if (leftBracketNum)
28             {
29                 leftBracketNum--;
30                 if (leftBracket[leftBracketNum] < lastStart)
31                 {
32                     rst = i - leftBracket[leftBracketNum] + 1;
33                     lastStart = leftBracket[leftBracketNum];
34                 }
35                 else
36                 {
37                     rst = i - lastStart + 1;
38                 }
39             }
40             else
41             {
42                 lastStart = 65535;
43             }
44         }
45     }
46
47     return rst;
48 }

转载于:https://my.oschina.net/abcijkxyz/blog/723557

找出最长的有效括号内子括号的长度相关推荐

  1. java小编程----给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。

    package com.henu;import java.util.Arrays;/*** @author limengdong* @date 2019年7月19日* @classroom 208bi ...

  2. 【Python】最长括号匹配问题:给定字符串,仅包含左括号‘(’和右括号‘)’,它可能不是括号匹配的,设计算法,找出最长匹配的括号子串

    最长括号匹配 示例: 给定字符串,仅包含左括号'('和右括号')',它可能不是括号匹配的,设计算法,找出最长匹配的括号子串. 算法分析 只有在右括号和左括号发生匹配时,才有可能更新最终解. 计算s[0 ...

  3. leetcode 5485. 找出最长的超赞子字符串

    5485. 找出最长的超赞子字符串 给你一个字符串 s .请返回 s 中最长的 超赞子字符串 的长度. 「超赞子字符串」需满足满足下述两个条件: 该字符串是 s 的一个非空子字符串 进行任意次数的字符 ...

  4. 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。输入格式:输入在一行中给出一个长整型范围内的非负整数。输出格式:从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格

    本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字.输入格式:输入在一行中给出一个长整型范围内的非负整数.输出格式:从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格 1 ...

  5. LeetCode 5485. 找出最长的超赞子字符串 (状态压缩、二进制、位运算、前缀和)

    5485. 找出最长的超赞子字符串 题意: 给你一个字符串 s .请返回 s 中最长的 超赞子字符串 的长度. 「超赞子字符串」需满足满足下述两个条件: 该字符串是 s 的一个非空子字符串 进行任意次 ...

  6. 2021-12-19:找到所有数组中消失的数字。 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums

    2021-12-19:找到所有数组中消失的数字. 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内.请你找出所有在 [1, n] 范围内但没有出现在 nums ...

  7. 1542. 找出最长的超赞子字符串 哈希+状态压缩

    1542. 找出最长的超赞子字符串 给你一个字符串 s .请返回 s 中最长的 超赞子字符串 的长度. 「超赞子字符串」需满足满足下述两个条件: 该字符串是 s 的一个非空子字符串 进行任意次数的字符 ...

  8. 力扣311场周赛:最长的字母序连续子字符串的长度

    本文以python为编程语言,题目来源于力扣311届周赛 题目: 字母序连续字符串是由字母表中连续字母组成的字符串.换句话说,字符串 "abcdefghijklmnopqrstuvwxyz& ...

  9. leetcode 5 :Longest Palindromic Substring 找出最长回文子串

    题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum l ...

  10. 找出最长单词(C语言)(指针实现)

    输入一行文字,找出其中的最长单词并输出. 要求: a)用指针实现. b)字符串若有多个最长单词,输出第一个. c)字符串长度不超过100个字符. d)规定连续的字母(大小写都行)构成的字符串为单词,字 ...

最新文章

  1. [iOS]如何重新架构 JPVideoPlayer ?
  2. 初中教师资格证计算机试讲教案模板,初中数学教师资格证面试教案模板: 《投影》...
  3. System Center 2012 R2 CM系列之Configuration Manager介绍
  4. 深度学习引擎的终极形态是什么?
  5. 协同过滤算法 R/mapreduce/spark mllib多语言实现
  6. 小米视频加载进度条效果实现
  7. java proguard 使用_一步步教你使用Proguard混淆Java源代码
  8. c语言 %-20s,一次 Rust 和C语言的混搭
  9. 创建基于webpack打包的vue项目
  10. 并发服务器模型——多线程服务器
  11. 【java】IDEA安装VisualVM插件-使用介绍 检测死锁 内存 cpu 慢方法
  12. mysql并发量_高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!
  13. 光大银行引入USB Server实现虚拟机调用Ukey
  14. 如何破解zip压缩文件的密码问题?
  15. app打开QQ与陌生人聊天
  16. GetComponentsInChildren 不能获取enabled = false的子物体
  17. 别人笑我太疯癫,我笑他人看不穿。
  18. 【深度学习】120G+训练好的word2vec模型(中文词向量)
  19. matlab求异面直线的公垂线,求异面直线的公垂线
  20. webpack打包压缩混淆_前端打包利器:webpack工具

热门文章

  1. 系统学习dede标签
  2. 单片机中code、data、idata、xdata等关键字意思
  3. IDear 创建web项目
  4. 青岛大学2020计算机考研录取名单,青岛大学复试录取名单 青岛大学2020年复试名单...
  5. 点, 直线, 平面的位置关系剩余部分快速学习笔记
  6. 天龙八部怀旧服服务器维护,新天龙八部怀旧服游戏2月4日全服更新维护公告
  7. 荣耀4a鸿蒙,华为荣耀4A上手评测:599元也可以很拉轰
  8. php7.0 phalcon_phalcon php7
  9. html适配手机 响应式,移动端适配(响应式)
  10. Java代码审计漏洞挖掘(入门)