罗定网站建设,南昌建筑工程公司,佛山网站建设怎样做,标准型网站构建题目描述
一个合法的括号匹配序列有以下定义: 1、空串是一个合法的括号匹配序列 2、如果X和Y都是合法的括号匹配序列,XY也是一个合法的括号匹配序列 3、如果X是一个合法的括号匹配序列,那么(X)也是一… 题目描述
一个合法的括号匹配序列有以下定义: 1、空串是一个合法的括号匹配序列 2、如果X和Y都是合法的括号匹配序列,XY也是一个合法的括号匹配序列 3、如果X是一个合法的括号匹配序列,那么(X)也是一个合法的括号匹配序列 4、每个合法的括号序列都可以由以上规则生成。 例如: ,(),()(),((()))都是合法的括号序列 对于一个合法的括号序列我们又有以下定义它的深度: 1、空串的深度是0 2、如果字符串X的深度是x,字符串Y的深度是y,那么字符串XY的深度为max(x,y) 3、如果X的深度是x,那么字符串(X)的深度是x1 例如: ()()()的深度是1,((()))的深度是3。牛牛现在给你一个合法的括号序列,需要你计算出其深度。
输入描述
输入包括一个合法的括号序列s,s长度length(2 ≤ length ≤ 50),序列中只包含(和)。
输出描述
输出一个正整数,即这个序列的深度。
示例一
输入
(())
输出
2 代码实现
# coding:utf-8import systry:while True:line sys.stdin.readline().strip()if line :breakline line.split()res 0tmp 0stack []s line[0]if s is None:print(0)for i in range(int(len(s))):if s[i] (:stack.append(()res max(res, len(stack))else:stack.pop()print(res)
except:pass