用Map或哈希来计数:
import java.util.*; public class Gift { public int getValue(int[] gifts, int n) { Map<Integer, Integer> m = new HashMap<>(); for(int i = 0; i < gifts.length; ++i){ if(m.containsKey(gifts[i])){ m.put(gifts[i], m.get(gifts[i]) + 1); }else{ m.put(gifts[i], 1); } if(m.get(gifts[i]) > gifts.length/2){ //超过一半就返回 return gifts[i]; } } return 0; } }