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

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

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

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

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

示例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集合中。

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

发布于 2021-12-29 23:25:31
收藏
分享
海报
0 条评论
50
上一篇:C语言中条件运算符和条件表达式的示例分析 下一篇:大数据中正则化方法、dropout、数据集扩增的示例分析
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码