快手一面(凉经)

一道sql题
sql慢查询怎么优化
限定查询几行关键字
表的几种连接
去重关键字
为什么想做测开
对测开岗位的理解
介绍后端项目
项目中用到了哪些测试
init的作用
python中列表和数组的区别
定位bug前端还是后端
为什么做自动化测试框架
接口测试关注的指标
手撕计算器
登录测试用例设计
购物车测试用例设计
了解哪些测试用例设计方法
场景法举例
说一下快速排序
了解大模型吗
对于测试有什么帮助
bug生命周期
软件开发生命周期
一个项目上线的标准
tcp和udp的区别
三次握手和四次挥手#测开# #测开#
全部评论
接好运
点赞 回复 分享
发布于 05-07 15:41 上海
佬是面试哪个部门,问这么多是春招吗
点赞 回复 分享
发布于 05-06 23:51 湖北
def calculate(s: str) -> int: def precedence(op): """定义运算符优先级:乘除 > 加减""" return 2 if op in ('*', '/') else 1 def apply_op(a: int, b: int, op: str) -> int: """执行运算""" if op == '+': return a + b elif op == '-': return a - b elif op == '*': return a * b elif op == '/': return a // b 整数除法,可根据需求改为浮点数除法 预处理:去除空格,大括号转为小括号(仅支持小括号逻辑) s = s.replace(' ', '').replace('{', '(').replace('}', ')') nums = [] 数字栈 ops = [] 运算符栈 i = 0 n = len(s) while i < n: if s[i].isdigit(): 处理多位数(如123) num = 0 while i < n and s[i].isdigit(): num = num * 10 + int(s[i]) i += 1 nums.append(num) elif s[i] == '(': ops.append(s[i]) i += 1 elif s[i] == ')': 遇到右括号,弹出运算符直到左括号 while ops and ops[-1] != '(': b = nums.pop() a = nums.pop() op = ops.pop() nums.append(apply_op(a, b, op)) ops.pop() 弹出左括号 i += 1 elif s[i] in ('+', '-', '*', '/'): 处理运算符优先级:当前运算符优先级≤栈顶时,先执行栈顶运算 while ops and ops[-1] != '(' and precedence(ops[-1]) >= precedence(s[i]): b = nums.pop() a = nums.pop() op = ops.pop() nums.append(apply_op(a, b, op)) ops.append(s[i]) i += 1 else: raise ValueError("无效字符:" + s[i]) 处理剩余运算符 while ops: b = nums.pop() a = nums.pop() op = ops.pop() nums.append(apply_op(a, b, op)) return nums[0]
点赞 回复 分享
发布于 05-06 18:51 广东
佬是北京的吗
点赞 回复 分享
发布于 05-04 22:36 湖北
今天面试?
点赞 回复 分享
发布于 05-04 18:51 天津

相关推荐

评论
5
24
分享

创作者周榜

更多
牛客网
牛客企业服务