题目要求:
//水王回复每条信息,且发布信息是总发布量的一半以上,找出水王
//有一个发布信息的列表
//要求时间复杂度为n
程序设计思想:根据配对原则,和堆栈出栈思想,可以找出发帖数在一半以上的那个人。
源代码:
public class WaterKing { public static void main(String args[]){ int a[]={1,4,3,4,4,3,2,4,3,4,4}; int b[]=new int[20]; for(int i=0;i<a.length;i++){ int j=0; if(j==0){ b[j]=a[i]; } if(b[j]==a[i]){ j++; b[j]=a[i]; } if(b[j]!=a[i]&&j!=0){ b[j]=(Integer) null; j--; } } System.out.println("水王是:"+b[0]); } }
运行结果截图: