关注
import java.util.ArrayList;
import java.util.Stack;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> inputs = new ArrayList<Integer>();
Scanner in = new Scanner(System.in);
String line = in.nextLine();
if(line != null && !line.isEmpty()) {
int res = resolve(line.trim());
System.out.println(String.valueOf(res));
}
}
// write your code here
public static int resolve(String expr) {
String[] array = expr.split("\\s+");
Stack stack = new Stack();
int count = 0;
for (int i = 0; i < array.length; i++){
if (array[i].equals("+")){
count--;
int temp1 = 0;
if (count >= 0){
temp1 = (int)stack.pop();
} else {
return -1;
}
count--;
int temp2 = 0;
if (count >= 0){
temp2 = (int)stack.pop();
}else {
return -1;
}
count++;
stack.push(temp1+temp2);
}else if (array[i].equals("*")){
count--;
int temp1 = 0;
if (count >= 0){
temp1 = (int)stack.pop();
} else {
return -1;
}
count--;
int temp2 = 0;
if (count >= 0){
temp2 = (int)stack.pop();
}else {
return -1;
}
count++;
stack.push(temp1*temp2);
}else if (array[i].equals("^")){
count--;
int temp = 0;
if (count >= 0){
temp = (int)stack.pop();
} else {
return -1;
}
temp += 1;
count++;
stack.push(temp);
}else {
int temp = Integer.parseInt(array[i]);
count++;
if (count > 16){
return -2;
}else {
stack.push(temp);
}
}
}
return (int)stack.pop();
}
}
我这样写ac了
查看原帖
点赞 评论
相关推荐
03-15 22:02
北京体育职业学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 如何一边实习一边找下家? #
24540次浏览 173人参与
# 实习生如何通过转正 #
129438次浏览 1464人参与
# MiniMax求职进展汇总 #
12039次浏览 218人参与
# 跟HR说什么能被秒回? #
7783次浏览 147人参与
# 电信求职进展汇总 #
45082次浏览 207人参与
# 春招/暑实第一面是哪家? #
16753次浏览 216人参与
# 巨人网络春招 #
9731次浏览 162人参与
# 快手年终开大包 #
11710次浏览 97人参与
# 海信求职进展汇总 #
97831次浏览 418人参与
# 面试官最爱问的 AI 问题是...... #
13025次浏览 461人参与
# 银行笔面经互助 #
184592次浏览 1303人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
2252次浏览 80人参与
# 秋招提前批,你开始投了吗 #
728856次浏览 8459人参与
# 设计人秋招体验最好的公司 #
85856次浏览 742人参与
# 你的嫡系AI是哪个? #
3298次浏览 92人参与
# 现在入门AI应该走哪些方向? #
3247次浏览 80人参与
# 你收到了哪些公司的笔试? #
15096次浏览 83人参与
# 迅雷笔试 #
5301次浏览 26人参与
# 机械人,说说你的烦心事 #
135357次浏览 1136人参与
# 你最近一次加班是什么时候? #
114482次浏览 561人参与
# 找工作中的小确幸 #
85063次浏览 463人参与
# 实习学到最有价值的工作习惯 #
64572次浏览 491人参与
查看21道真题和解析