A题不分早晚,从今天开始好好学习算法,提高自己的逻辑思维能力,免得太怠惰。
这道题就是一道求中位数的题,很简单,用快排就可以了
import java.util.Scanner;
public class Main{
static int data[] = null;
public static void sort(int left,int right){
if(left>right) return;
int x = data[left];
int i = left;
int j = right;
while(i!=j){
while(j>i&&data[j]>=x) j--;
while(i<j&&data[i]<=x) i++;
if(i<j){
data[i] = data[j]+(data[j]=data[i])*0;
}
}
if(left<i){
data[left]=data[i];
data[i]=x;
}
sort(left,i-1);
sort(i+1,right);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
data = new int[n];
for(int i=0;i<n;i++){
data[i] = sc.nextInt();
}
Main.sort(0, n-1);
System.out.println(data[data.length/2]);
}
}