华为OD机试C卷-- 提取字符串中的最长合法简单数学表达式(Java & JS & Python & C)

飞码创造者 2024-06-20 08:05:03 阅读 100

获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。

题目描述

提取字符串中的最长合法简单数学表达式,字符串长度最长的,并计算表达式的值。如果没有,则返回 0 。

简单数学表达式只能包含以下内容:

0-9数字,符号±*

说明:

1.所有数字,计算结果都不超过long

2.如果有多个长度一样的,请返回第一个表达式的结果

3.数学表达式,必须是最长的,合法的

4.操作符不能连续出现,如 ±-+1 是不合法的

输入描述

字符串

输出描述

表达式值

题目解析

此题要求从给定字符串中找出最长的合法简单数学表达式并计算其值。合法表达式由数字和运算符(+、-、*)组成,且操作符不能连续出现。若无合法表达式,则返回0。如果有多个长度相同的最长表达式,返回第一个。

Java算法源码

import java.util.regex



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。