课堂作业之寻找水王

•三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。
•如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

程序设计思想:

将两两不同的id号相抵消,剩的就只能是水王了

程序源代码实现

import java.util.Scanner;

public class shuiwang{

public static void main(String []args){

Scanner reader=new Scanner(System.in);

System.out.println("请输入ID总数:");

int sum=reader.nextInt();

int ID[]=new int[sum]; //数组ID[]存储所有ID

System.out.println("请输入ID:");

for(int i=0;i<sum;i++)

{

ID[i]=reader.nextInt();

}

int longID=ID[0];int j=1; //假设第一个ID为水龙王ID j为记录龙王ID总数

for(int i=1;i<sum;i++)

{

if(longID!=ID[i]) //龙王ID与后一个ID相比较,如不等则龙王ID总数减一

{

j=j-1;

if(j<=0) //龙王ID总数为0时,更换龙王ID,,并与后一个ID相比较

{

longID=ID[i+1];

j=1;

i++;

}

}

else //龙王ID与下一个ID相等时 龙王ID总数加一

{

longID=ID[i];

j=j+1;

}

}

System.out.println("水龙王的ID为:"+longID);

}

实现截图

个人总结

通过这次作业,解决一个问题可以有多种解法,但要选最优的方法

原文地址:https://www.cnblogs.com/lipengpengpeng/p/5503080.html