牛客网公司真题(笔试)系列
2024/3/22
美团2021校招笔试-编程题(通用编程试题,第10场)
import java.util.Scanner;
import java.util.Arrays;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int x = in.nextInt();
int y = in.nextInt();
int[] scores = new int[n];
for(int i = 0; i < n; i++){
scores[i] = in.nextInt();
}
int result = test(n, x, y, scores);
System.out.println(result);
}
//思路:先排序,将分数线设为最小,从小往大一个一个遍历着试
public static int test(int n, int x, int y, int[] list){
if(x > y){
return -1;
}
Arrays.sort(list);
int m = -1;
for(int i = list[0]; i <= list[n-1]; i++){ //分数线 从小往大试
int c = 0; //数组下标
int left = 0; //小于分数线的人数
while(list[c] <= i){ //若当前数组元素在分数线左边
c++;
left++;
}
int right = n - left;
if(left>=x && left<=y && right>=x && right<=y){
m = i;
return m;
}else{
continue;
}
}
return -1;
}
}
总结:
acm模式最好记得,Arrays工具是在 java.util 包下