华为OD机试 - 最长合法表达式(Python)| 真题+思路+考点+代码+岗位
迪丽瓦拉
2024-05-26 00:02:46
0

最长合法表达式

题目

提取字符串中的最长合法简单数学表达式,
字符串长度最长的,并计算表达式的值。
如果没有返回0.
简单数学表达式只能包含以下内容:
0-9数字,符号+-*
说明:

  1. 所有数字,计算结果都不超过long
  2. 如果有多个长度一样的,请返回第一个表达式的结果
  3. 数学表达式,必须是最长的,合法的
  4. 操作符不能连续出现,如+--+1是不合法的

输入

字符串

输出描述

表达式值

示例一

输入

1-2abcd

输出

-1

解题思路

这道题就是一个计算机,需要提取数字和运算符号。

优先从用户输入中获取数字,然后将数字和运算符进行提取,将最后的结果进行返回。

函数 calc() 接收一个字符串作为输入,先将字符串转换为字符数组,然后遍历字符数组,如果当前字符是数字,就存入数字数组中;如果

相关内容