水王。。。论坛的水王

三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。

•如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

一、设计思想

根据两两相消的思想,发帖数过半的ID在与其他不同ID比较,相同则计数器加一,不同计数器减一。当计数器为负数时,水王依次下轮。

package 界面;  

import java.util.Scanner;
public class Shuiwang {
  public static void main(String[] args){
     Scanner in=new Scanner(System.in);
     int N;
     System.out.println("请输入帖子的总数:");
     N=in.nextInt();
     String Idnum[]=new String [N];
     int i,j=0;
     System.out.println("请输入ID:");
     for(i=0;i<N;i++)
     {
         Idnum[i]=in.next();
     }
     String Laowang=Idnum[0];
     //设水王是第一个ID
     for(i=0;i<N-1;i++)
     {
         //增加相同的,消除不同的,最后剩下的是水王
         if(Laowang.equals(Idnum[i+1]))
         {
            j++;
         }
         else
            j--;
         if(j<0)
         {
             Laowang=Idnum[i+1];
         }
         System.out.print(Laowang+"  ");
     }
     System.out.println("水王是:"+Laowang);

  }
}

  

时间: 2024-11-04 12:59:21

水王。。。论坛的水王的相关文章

软件工程课堂训练———找三个小水王

一.题目描述 随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID.据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗? 二.解决思路 沿用上次消除的思想,定义三个计数器和三个嫌疑水王,比较三个ID,如果不相同,就排除,如果相同,那么计数器加一.嫌疑水王ID都与其它水军ID进行抵消最后剩下的就是三个水王. 三.程序代码 // shuiba.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include &q

课堂作业-寻找水王

[设计思想]   因为水王是整个论坛中发帖和回帖数加起来最多的的人,且超过总帖数的一半以上.(这里将发帖数和回帖数记在一起)使用"两两相消"的方法.将帖子的作者id纳入数组,将数组中的一个数记作疑似水王者,并记发帖数t=0.遍历数组,若数组中的数和疑似水王者id相同,使发帖数t加一.如与疑似水王者id不同,使发帖数t减一.当t=0时,将数组中当前与水王疑似者比较的数作为新的疑似水王者.循环结束,当前水王怀疑者就是水王. [代码实现] 1 2 3 4 5 6 7 8 9 10 11 12

课堂练习四

设计思想: 输入id总数,输入id;假设第一个id是水王,若水王id与下一个id不同,则消除不同的,设j等于0减一:若id相同,则j加一:最后剩下的id 为水王. 源代码: //求论坛上的水王 import java.util.Scanner; public class test4 { public static void main(String[] args){ Scanner in=new Scanner(System.in); int N; System.out.println("请输入帖

找水王-课堂作业

程序代码 结果截图 实验总结 因为水王是整个论坛中发帖和回帖数加起来最多的的人,且超过总帖数的一半以上.(这里将发帖数和回帖数记在一起)使用"两两相消"的方法.将帖子的作者id纳入数组,将数组中的一个数记作疑似水王者,并记发帖数t=0.遍历数组,若数组中的数和疑似水王者id相同,使发帖数t加一.如与疑似水王者id不同,使发帖数t减一.当t=0时,将数组中当前与水王疑似者比较的数作为新的疑似水王者.循环结束,当前水王怀疑者就是水王.

水王(课堂作业)

题目: 三人行设计了一个灌水论坛.信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个"水王",他不但喜欢发帖,还会回复其他ID发的每个帖子.坊间风闻该"水王"发帖数目超过了帖子数目的一半.如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗? 思路:因为考虑到水王发的帖子数量超过了半数,所以可以按顺序将每个帖子的ID每两个作比较,如果相同,则留下,如果不相同,则同时删除两个ID. 代码: public cla

课堂练习------寻找水王

•三人行设计了一个灌水论坛.信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子.坊间风闻该“水王”发帖数目超过了帖子数目的一半. •如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗? 1 #include<iostream.h> 2 int main() 3 { 4 int water; 5 int a[10]={1,5,2,5,3,5,4,5,5,5}; 6 int j,k=1

随堂练习--找水王1

问题: •三人行设计了一个灌水论坛.信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子.坊间风闻该“水王”发帖数目超过了帖子数目的一半. •如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗? 解题思想: 问题可简化为:在str数组中,存在着0-9数字,其中一个数字的个数超过了50%,找到这个数字. 设计思想: 1.先构建一个有若干个数字的数组,其中水王数字超过50%. 2.将相邻数

找水王

一 题目要求: 三人行设计了一个灌水论坛.信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个水王,他不但喜欢发帖,还会回复其他ID发的每个帖子.坊间风闻该水王发帖的数目超过了帖子数目的一半.如果你有一张该论坛的帖子列表,其中帖子的作者ID也在其中,你能快速的找到这个传说中的水王吗? 二 设计思路: 水王的帖子数量超过了一半,可以将每两个不同的ID号进行比较消除.可以利用栈的思想,先将第一个ID号压入栈,再将第二个ID号压入栈,两个进行比较,不同的话则把第二个ID号弹出栈,然后再接着将第三个I

“找出水王”分析报告

“找出水王”分析报告 一.题目要求 三人行设计了一个灌水论坛.信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子.坊间风闻该“水王”发帖数目超过了帖子数目的一半. 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗? 二.设计思路 1.水王的发帖数超过所有人的一半,这个是个重要信息. 2.这个就和开心消消乐一样,一对一对的把不同的id消去,剩下的一定就是水王的id. 3.因为水王的i