水王发帖数超过了一半,所以他不怕删,只需要将两两为一组比较即可,如果两用户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);
}