规则  :给定一个只包含两种字符的字符串:( ,) ,其他字符均为无效

1、任何左括号 ( 必须有相应的右括号 )。
2、任何右括号 ) 必须有相应的左括号 ( 。
3、左括号 ( 必须在对应的右括号之前 )。

4、有效字符的长度为左括号和右括号的相加。

#include<iostream>
#include<string>
#include<vector>
#include<stack>

using namespace std;

int calc(const string& str,int& tail) {
    stack<char> s;
    int max = 0;
    int count = 0;
    while (tail >= 0) {
        if (str[tail] == '(' && s.size() == 0 || (str[tail]!=')' && str[tail]!='(')) {
            while (s.size() != 0) {
                s.pop();
            }
            printf("str is %c\n", str[tail]);
        
        }
        else if (str[tail] == '(' && s.top() == ')') {
            s.pop();
            ++count;
        }
        else if (str[tail] == ')') {
            s.push(str[tail]);
        }
        --tail;
    }
    if (max < count) {
        max = count;
    }
    printf("max is %d\n", max);
    return max*2;
}

int main(int argc, char* argv[]) {
    string str;
    cin >> str;
    int len = str.length();
    if (len < 2)
        cout << 0 << endl;
    --len;
    cout << calc(str,len) << endl;
    getchar();
    return 0;
}

计算有效的字符串长度相关推荐

  1. c/c++ 计算字符数组/字符串长度

    1.自定义函数求长度 2.使用strlen()函数 3.使用sizeof()操作符 4.使用length()函数 利用自定义函数的方法: int cont_str(char *s) {int i = ...

  2. 计算中英文混合字符串长度

    - (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.//第一种方法NS ...

  3. PHP函数计算中英文字符串长度的方法

    利用php函数计算中英文混合字符串长度的方法 英文字符占一个字节,而中文字符gbk占两个字符,utf8占三个字符,php计算字符串长度strlen()函数,计算的是字节的长度而非字符的长度,获取一个字 ...

  4. strlen和sizeof求字符串长度

    首先,strlen是函数,sizeof是运算操作符,二者得到的结果类型为size_t,即unsigned int类型.大部分编译程序在编译的时候就把sizeof计算过了,而strlen的结果要在运行的 ...

  5. R语言length函数计算向量、列表、字符串长度实战

    R语言length函数计算向量.列表.字符串长度实战 目录 R语言length函数计算向量.列表.字符串长度实战 #基本语法

  6. 【C 语言】字符串操作 ( strlen 与 sizeof 函数 | 计算 字符串长度 与 内存块大小 )

    文章目录 一.strlen 与 sizeof 函数 二.计算 字符串长度 与 内存块大小 一.strlen 与 sizeof 函数 strlen() 函数的作用是获取字符串大小 , 其原理是 从 内存 ...

  7. php 变量 长度,php 怎么计算字符串长度

    这篇文章主要介绍了利用PHP函数计算中英文字符串长度的方法,实例对比了PHP函数实现方法与正则表达式的实现方法,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例讲述了利用PHP函数计算中英文字符 ...

  8. 使用C语言计算utf-8字符串长度 和取子字符串-转

    C或C++语言处理宽字节字符串上是个弱项,虽然stl定义了wstring等类型,但是实际应用中还是存在一些问题,而C语言的支持就更少了,如果想跨平台,问题就会更多. 最近项目中要处理utf-8字符串, ...

  9. 实用Python之字符串长度计算

    实用Python之字符串长度计算 **  相信在很多时候,大家都会遇到一些字符串的处理,比如你想知道一个常常的字符串到底有多长.很多人可能想到的第一想法就是把这个字符串写入到工程项目中,然后Log打印 ...

最新文章

  1. 牲畜体表信息的三维重建
  2. 微信小程序模板消息(服务通知消息)原始post工具封装(不使用jar包--坑比较多),解决47001(JSON格式)和中文乱码问题
  3. 吴恩达 coursera ML 第九课总结+作业答案
  4. windows查看器无法打开图片_关于windows微软商城无法打开 错误代码0x80004003问题...
  5. unity3d 几种镜头畸变
  6. 硬盘分区模式gpt改成mbr模式_系统硬盘gpt转换的操作方法
  7. Linux下编写简单的程序
  8. esp8266电池供电方案_(普通照明、应急照明、事故照明)方案解读
  9. mysql字段动态扩展_数据库动态扩展字段
  10. 关于数据迁移:解决kettle中mysql的数据是tinyint的kettle查出来后变成boolean问题
  11. 大猫谈JNCIE实验考试备战
  12. 2012春节快到了我们聚会吧!
  13. 【35】存储器层次结构全景:数据存储的大金字塔长什么样?
  14. 时间与日期处理模块 题目解题报告
  15. 杭电ACM2188题
  16. #define ok 1 是什么意思 数据结构书上的
  17. Java中的char字符你了解多少?
  18. Visual Studio SVN创建分支 合并分支 切换分支 vs 插件 visualsvn
  19. 计算机开机后发现不了硬盘 首先应该检查,联想台式电脑开机提示Error 1962没有检测到操作系统的解决方法...
  20. Windows电脑桌面云便签敬业签无法同步定时提醒待办事项的便签内容如何解决

热门文章

  1. 初识Greenfoot
  2. Android车载嵌入式操作系统(Android Automotive)
  3. android 横向滚动选择,简单实现自定义横向滚动选择View
  4. 如何去面试软件测试工程师?
  5. Guitar Pro8吉他谱编写软件下载安装及使用教程
  6. python神经网络预测的例子,神经网络算法python实现
  7. PMP成绩如何查询?
  8. 游戏建模中3DMax的那些神技巧
  9. ubuntu 14.04 安装gollum
  10. 计算机组成原理实验报告范文,计算机组成原理实验-运算器实验报告.doc