大数据中如何为运算表达式设计优先级
大数据中如何为运算表达式设计优先级
这篇文章主要为大家展示了“大数据中如何为运算表达式设计优先级”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“大数据中如何为运算表达式设计优先级”这篇文章吧。
给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。
示例1:
输入:输出:解释:((2-1)-1)=0(2-(1-1))=2
示例2:
输入:"2*3-4*5"输出:[-34,-14,-10,-10,10]解释:(2*(3-(4*5)))=-34
答案:
1publicList<Integer>diffWaysToCompute(Stringinput){
2List<Integer>res=newArrayList<Integer>();
3for(inti=0;i<input.length();i++){
4charc=input.charAt(i);
5if(c=='-'||c=='+'||c=='*'){
6Stringa=input.substring(0,i);
7Stringb=input.substring(i+1);
8List<Integer>al=diffWaysToCompute(a);
9List<Integer>bl=diffWaysToCompute(b);
10for(intx:al){
11for(inty:bl){
12if(c=='-'){
13res.add(x-y);
14}elseif(c=='+'){
15res.add(x+y);
16}elseif(c=='*'){
17res.add(x*y);
18}
19}
20}
21}
22}
23if(res.size()==0)
24res.add(Integer.valueOf(input));
25returnres;
26}
解析:
先把字符串截取,然后再根据递归的方式把计算所得到的值进行加减乘操作。注意第23到24行,当分别截取头尾数字的时候,res可能为空,这时需要把input值加入到res集合中。
以上是“大数据中如何为运算表达式设计优先级”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道!
推荐阅读
-
如何理解处女座在数据整理中的精确
-
Linux如何安装和使用 Hadoop 大数据框架
-
RStudio 数据分析全流程:从数据导入到动态报告生成的最佳实践
-
教育领域编程教学:Jupyter Notebook 与 RStudio 在数据分析课程中的应用
-
JUnit 5 参数化测试:数据驱动测试的实现与最佳实践
-
RStudio 数据可视化:ggplot2 与交互式图表制作全流程
-
Jupyter Notebook 魔法命令:提升数据分析效率的 20 个技巧
-
如何高效地在多台服务器上均匀分布海量键?
在多台服务器上均匀分布海量键的挑战在分布式系统中,当需要将大量数据键映射到多个服务器时,保证数据均匀分布至关重要。尤其是在需要对...
-
分布式集群中如何保证数据均匀分布?
-
Linux上Swagger UI展示效果优化方法