import java.util.*;
public class Gift {
public int getValue(int[] gifts, int n) {
// write code here
int pd = n / 2 + n % 2;
Arrays.sort(gifts);
int []sum=new int[100010];
for(int i=0;i<gifts.length;i++){
sum[gifts[i]]++;
if(sum[gifts[i]]++>=pd) return gifts[i];
}
return 0;
}
}
先对gifts数组进行排序(升序还是降序都可以,目的是让相同金额的数字相邻),然后遍历排序过的数组,将金额出现的次数存入sum数组,顺便判断次数是否超过n/2(奇数需要+1,所以n/2+n%2)

京公网安备 11010502036488号