关注
及其丑陋的代码,基本想法就是找连续的符号,把对应数字排序。有很多特殊情况要考虑。。。。 import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()){
int n = in.nextInt();
int nums[] = new int[n];
char op[] = new char[n];
nums[0] = in.nextInt();
for (int i=1; i<n; i++){
op[i] = in.next().charAt(0);
nums[i] = in.nextInt();
}
for (int i=1; i<n;){
if (op[i] == '+') {
int j = i;
while (j<n&&op[j]=='+') j++;
if (j<n&&(op[j]=='*'||op[j]=='/')){
if (i==1){
Arrays.sort(nums,i-1,j-1);
}
else {
Arrays.sort(nums,i,j-1);
}
}
else {
if (i==1){
Arrays.sort(nums,i-1,j);
}
else {
Arrays.sort(nums,i,j);
}
}
i=j;
}
else if (op[i] == '-') {
int j = i;
while (j<n&&op[j]=='-') j++;
if (j<n&&(op[j]=='*'||op[j]=='/')){
Arrays.sort(nums,i,j-1);
}
else {
Arrays.sort(nums,i,j);
}
i=j;
}
else if (op[i] == '*'){
int j=i;
while (j<n&&op[j]=='*') j++;
if (op[i-1]=='/'){
Arrays.sort(nums, i, j);
}
else {
Arrays.sort(nums,i-1,j);
}
i=j;
}
else if (op[i] == '/'){
int j=i;
while (j<n&&op[j]=='/') j++;
Arrays.sort(nums,i,j);
i=j;
}
}
System.out.print(nums[0]);
for (int i=1; i<n; i++){
System.out.print(" "+op[i]+" "+nums[i]);
}
System.out.print("\n");
}
}
}
查看原帖
点赞 评论
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
5526次浏览 73人参与
# 机械人避雷的岗位/公司 #
41102次浏览 267人参与
# 程序员找工作至少要刷多少题? #
10224次浏览 149人参与
# 牛客AI体验站 #
3679次浏览 100人参与
# 论秋招对个人心气的改变 #
6311次浏览 107人参与
# 为了减少AI幻觉,你注入过哪些设定? #
2050次浏览 76人参与
# 刚入职的你踩过哪些坑 #
4544次浏览 97人参与
# AI Coding的使用心得 #
2693次浏览 71人参与
# 我现在比当时_,你想录用我吗 #
4126次浏览 71人参与
# 一张图晒一下你的AI员工 #
3184次浏览 72人参与
# 关于春招/暑期实习,你想知道哪些信息? #
4544次浏览 86人参与
# 程序员能干到多少岁? #
6051次浏览 91人参与
# 找工作的破防时刻 #
252344次浏览 1958人参与
# 晒晒你司的新年福利 #
4364次浏览 72人参与
# 大家实习每天都在干啥 #
119082次浏览 627人参与
# 我的工作日记 #
172749次浏览 1680人参与
# 实习,不懂就问 #
165827次浏览 1477人参与
# 软开人,秋招你打算投哪些公司呢 #
180887次浏览 1398人参与
# 黄金这个事上,你学到了什么 #
966次浏览 28人参与
# 12306一秒售罄,你抢到回家的票了吗? #
634次浏览 19人参与

