实验题目:
三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。
如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?
随着论坛的发展,水王没有了,但是有三个发帖很多的id,发帖数量超过四分之一,你能快速找到他吗?
实验思路:
我先用两个数组存放ID,并且规定ID大于0,并且比较用B[i]和A[K]里的每一个ID比较并计数,一旦相等,将A[I]赋值为-1,循环套循环就可以找到所有的水王。
实验代码:
import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO 自动生成的方法存根 int k,x=0; Scanner in=new Scanner(System.in) ; System.out.println("请输入帖子的个数"); k=in.nextInt(); System.out.println("请输入帖子ID 注意输入大于0的整数"); int a[]=new int [k]; int b[]=new int [k]; for(int i=0;i<k;i++) { int Num = in.nextInt(); a[i]=Num; if(Num<0) { System.out.println("ID大于0 请重新输入"); a[i]= in.nextInt(); } b[i]=a[i]; } for(int J=0;J<k;J++) { int N=0; for(int A=0;A<k;A++) { if(b[J]==a[A]) { N=N+1; a[A]=-1; } if(N>k/4) { x=a[J]; System.out.println("水王是"+b[J]); break; } } } if(x==0) { System.out.println("没有找到水王"); } } }
运行截图: