水王发帖数超过了一半,所以他不怕删,只需要将两两为一组比较即可,如果两用户id相同则记录下来,如果不同则全部删除,不同的话采用1换1,最后留下来的一定是多的也就是水王。这样的话只需要遍历一遍即可。
代码实现:
public static void main(String[] args) { //测试数据 String[] ids ={"111","111","112","113","111","114","111","118","114","111","111"};; //记录水王的ID String id = ""; //记录每个ID出现的次数 int intTimes=0; for (String s : ids) { if (intTimes == 0) { id = s; intTimes += 1; } else { if (id.equals(s)) { intTimes = intTimes + 1; } else { intTimes = intTimes - 1; } } } System.out.println(id + ","+intTimes); }