目前是大二的学生,虽然也参加过蓝桥杯什么的比赛,但是对自己的编程能力还是不自信,我感觉和高手相比我还是差太远了,所以打算今年九月份考第一次CSP认证对自己的编程能力做一个评估,心中有点忐忑,计划是这个暑假用大概一个月的时间来准备,希望通过这段时间努力提高自己。(我打算考Java语言的认证,虽然从我目前了解到的信息来看好像还是用C++的居多,欢迎有相同打算考Java语言CSP认证的同伴或者C++的同伴评论,一起交流)
刚开始分析这个题的时候被晃了一下,题目中说数据可能为升序也可能为降序,并且可能有重复数据,于是我在想是不是要去重,但题目中只是说有重复数据并没有说要去重,最终通过提交的结果证实的确不需要去重,这道题就是一道非常基础的题,用到了一个ArrayList,其他的也没用到什么算法什么的,毕竟是五道题中的第一个题。
完整代码如下:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList<Integer> num = new ArrayList<Integer>();
for(int i=0;i<n;i++) {
num.add(sc.nextInt());
}
int zhong = (num.get((num.size()-1)/2)+num.get((num.size())/2))*10/2;
String Z;
if(zhong%10==5)
Z = zhong/10.0+"";
else
Z = zhong/10+"";
if(num.get(0)>=num.get(num.size()-1))
System.out.println(num.get(0)+" "+Z+" "+num.get(num.size()-1));
else
System.out.println(num.get(num.size()-1)+" "+Z+" "+num.get(0));
}
}
提交结果得了满分,应该没什么太大的问题,有不同思路或者对我写的代码有不同看法的欢迎提出,共同进步。