千家信息网

大数据中如何为运算表达式设计优先级

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要为大家展示了"大数据中如何为运算表达式设计优先级",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"大数据中如何为运算表达式设计优先级"这篇文章吧。
千家信息网最后更新 2025年12月01日大数据中如何为运算表达式设计优先级

这篇文章主要为大家展示了"大数据中如何为运算表达式设计优先级",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"大数据中如何为运算表达式设计优先级"这篇文章吧。

给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。

示例 1:

输入:输出:解释:((2-1)-1) = 0(2-(1-1)) = 2

示例 2:

输入: "2*3-4*5"输出: [-34, -14, -10, -10, 10]解释: (2*(3-(4*5))) = -34

答案:

 1public List diffWaysToCompute(String input) {
2 List res = new ArrayList();
3 for (int i = 0; i < input.length(); i++) {
4 char c = input.charAt(i);
5 if (c == '-' || c == '+' || c == '*') {
6 String a = input.substring(0, i);
7 String b = input.substring(i + 1);
8 List al = diffWaysToCompute(a);
9 List bl = diffWaysToCompute(b);
10 for (int x : al) {
11 for (int y : bl) {
12 if (c == '-') {
13 res.add(x - y);
14 } else if (c == '+') {
15 res.add(x + y);
16 } else if (c == '*') {
17 res.add(x * y);
18 }
19 }
20 }
21 }
22 }
23 if (res.size() == 0)
24 res.add(Integer.valueOf(input));
25 return res;
26}

解析:

先把字符串截取,然后再根据递归的方式把计算所得到的值进行加减乘操作。注意第23到24行,当分别截取头尾数字的时候,res可能为空,这时需要把input值加入到res集合中。

以上是"大数据中如何为运算表达式设计优先级"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

运算 优先级 表达式 数据 设计 内容 篇文章 字符 字符串 数字 示例 结果 学习 帮助 解释 输入 输出 不同 有效 头尾 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 医疗服务软件开发上市规范 虚拟机的客户机和服务器 太原软件开发厂家报价 软件开发主要有哪方便 部队里的网络安全吗 海南海口的dns服务器是多少 智能化机器人服务器 元神手机转服务器 小学网络安全活动设计方案 linux服务器防火墙管理工具 海南网络营销软件开发定制报价表 叙述软件开发的需求分析过程 韵达快递电脑软件服务器异常 软件开发回济南怎么样 莫塔守山人用什么软件开发的 医院临床网络安全管理 网络技术的实质是什么 人工智能与网络安全的构想 手机控制服务器的软件 水利网络安全 心得体会 数据库字段最大长度可以修改吗 网络安全800字作文大全 西安电子科技大学互联网就业 我的世界进服务器就闪退怎么解决 网络安全知识进课堂活动的目的 河南京卓网络技术有限公司网站 数据库怎么查询一个时间 学校网络安全工作计划2022 如何看连接的是不是同一个服务器 中兴波分软件开发一部
0