zoukankan      html  css  js  c++  java
  • 软件工程练习——找水王

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

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

    1.设计思想

       因为“水王”发帖数超过了一半,将相邻两两不同的ID消除,则剩下的为“水王”的ID。用一个一维数组a[]存储所有ID,令“水王”ID为数组中的第一个a[0],用一个整型j记录水王ID出现次数,相邻数比较相同则j++,不同则j- -,并且如果j<=0,则对水王换ID,进行循环判断,直至循环结束。

    源代码:

     1 package shuiwang;
     2 import java.util.*;
     3 
     4 public class Find_shuiwang {
     5 
     6     public static void main(String[] args) {
     7         // TODO Auto-generated method stub
     8         Find_function function = new Find_function();
     9         Scanner sca=new Scanner(System.in);
    10         System.out.println("输入帖子数:");
    11         int n=sca.nextInt();
    12         String post[]=new String[n+1];
    13         
    14         int i;
    15         System.out.println("输入帖子ID:");
    16         for(i=0;i<n+1;i++)
    17         {
    18               post[i]=sca.nextLine();
    19         }
    20         String shuiwang = function.find(post, n);
    21         System.out.println("水王ID是 " + shuiwang);
    22     }
    23 
    24 }
    main
     1 package shuiwang;
     2 
     3 public class Find_function {
     4     String find(String[] post,int n)
     5     {
     6         int i,j = 0;
     7         String shuiwang = post[0];//令第一个ID为水王
     8         for(i=0;i<n;i++)
     9         {            
    10             if(!shuiwang.equals(post[i]))
    11                 {
    12                     j=j-1;
    13                     if(j<=0)    //如果j=0时,之前的ID一定有一半以上不是水王,所以消去的至多有一半水王
    14                        {
    15                           shuiwang=post[i+1];    //在剩下的ID中继续寻找
    16                           j=1;        //重新定义水王ID出现次数
    17                           i++;
    18                         }
    19                 }
    20             else
    21                 {
    22                     shuiwang=post[i];
    23                     j=j+1;//水王帖子数
    24                 }            
    25         }
    26         return shuiwang;
    27     }
    28 }
    Find_function

    结果截图:

  • 相关阅读:
    ssh反向连接配置
    综合实践
    20199323 2019-2020-2 《网络攻防实践》第12周作业
    20199323 2019-2020-2 《网络攻防实践》第10周作业
    20199323 2019-2020-2 《网络攻防实践》第8周作业
    20199323 2019-2020-2 《网络攻防实践》第6周作业
    20199323 2019-2020-2 《网络攻防实践》第五周作业
    实践三 网络嗅探与协议分析
    20199114 《网络攻防实践》 综合实践
    20199314 2019-2020-2 《网络攻防实践》第12周作业
  • 原文地址:https://www.cnblogs.com/xiaosongbiog/p/5503655.html
Copyright © 2011-2022 走看看