天上课,老师教了小易怎么计算加法和乘法,乘法的优先级大于加法,但是如果一个运算加了括号,那么它的优先级是最高的。例如:
1
2
3
4
1+23=7
1(2+3)=5
123=6
(1+2)3=9
现在小易希望你帮他计算给定3个数a,b,c,在它们中间添加"+", "", “(”, ")"符号,能够获得的最大值。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
//牛客网上的第一使用暴力解的 不知道是真的考量了此题简单还是思维简单,不过人家用的时间确实短
public class Main{
public static int max(int a[]){
Arrays.sort(a);
if(a[0]==1)
return (a[0]+a[1])*a[2];
else return a[0]*a[1]*a[2];
}
public static void main(String[] args) throws IOException {
BufferedReader buff = new BufferedReader(new InputStreamReader(System.in));
String s[] = buff.readLine().split(" ");
int[] a = new int[3];
for (int i=0;i<3;i++) a[i] = Integer.parseInt(s[i]);
System.out.println(max(a));
}
}
计算表达式最大值
776

被折叠的 条评论
为什么被折叠?



