用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;
        }
}