想要看更加舒服的排版、更加准时的推送 关注公众号“不太灵光的程序员” 每日八点有干货推送,微信随时解答你的疑问
牛客刷题偶遇 字节后端笔试0715 撸它
一共两道编程题。
1、 给定一个合法的计算表达式,该表达式只包括
0 1 2…9 + - ( )
这些字符,求判断内部不包含减号的括号对数;
例子如下:
(1+(2+1)+(3+4)-5)
该计算表达式不包含减号的括号对数为2对;
思路: 利用栈先进后出的特点,除了有括号全部进栈,与右括号开始出栈,遇到减号当前一组括号不计数,但是为了后面计算方便,需要中间的字符都出栈直至遇到左括号。
执行顺序:
(1+(2+1)+(3+4)-5)
(1++(3+4)-5)
(1++-5)
代码如下:
data = input()
# 定义 左侧为栈底 右侧为栈顶
stack = [