链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
给你n个数,有一个数的出现次数超过一半,请找出这个数。
输入描述:
输入两行。 第一行包含一个整数n 第二行包含n个整数ai 1≤n≤1000,1≤ai≤1e91 \leq n \leq 1000, 1 \leq a_i \leq 1e91≤n≤1000,1≤ai≤1e9
输出描述:
输出一行,包含一个整数。
示例1
输入
5 1 2 2 3 2
输出
2
示例2
输入
5 1 1 2 2 2
输出
2
示例3
输入
5 1 1 1 2 2
输出
1
排序,由于 n 个数必有一个数出现次数超过一半,因此将 n 个数排序完后,位于中间的数即为所求结果。
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n= scanner.nextInt();
int ss[]=new int [n];
for (int i=0;i<n;i++)
{
ss[i]= scanner.nextInt();
}
Arrays.sort(ss);
System.out.println(ss[(n-1)/2]);
}
}