华为OD机试 - 最长合法表达式(Python)| 真题+思路+代码

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为OD机试 - 最长合法表达式(Python)| 真题+思路+代码相关的知识,希望对你有一定的参考价值。

最长合法表达式

题目

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

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

输入

字符串

输出描述

表达式值

示例一

输入

1-2abcd

输出

-1

解题思路

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

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

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

以上是关于华为OD机试 - 最长合法表达式(Python)| 真题+思路+代码的主要内容,如果未能解决你的问题,请参考以下文章

独家华为OD机试 - 最长的元音字符串(C 语言解题)

华为OD机试真题 python 实现组合出合法最小数2023 Q1 | 100分

华为OD机试真题 python 实现组合出合法最小数2023 Q1 | 100分

华为OD机试题,用 Java 解最长连续子串问题

华为OD机试真题 Python 实现最长的顺子

华为OD机试题最长的元音字符串用 C++ 编码,速通 (2023.Q1)