zoukankan      html  css  js  c++  java
  • 课堂练习-找水王

    实验题目:

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

    设计思想:

          由于水王的发帖数目超过总帖子数目的一半而且已知所有帖子的ID,所以可以这样:遍历,如果两个ID不同,则消除,这样最后剩下的相同的ID就是水王的ID。

    代码:

     1 import java.util.Scanner;
     2 public class TheKingOfWater {
     3 
     4     public static void main(String[] args) {
     5         // TODO Auto-generated method stub
     6         Water w = new Water();
     7         w.setLength();
     8         w.findWater();
     9     }
    10 
    11 }
    12 class Water
    13 {
    14     String id[];
    15     int length;
    16     void setLength()//输入总帖数
    17     {
    18         System.out.println("请输入总帖数");
    19         Scanner l = new Scanner(System.in);
    20          length = l.nextInt();
    21     }
    22     void findWater()
    23     {
    24         id = new String [length];
    25         System.out.println("请输入id");
    26         for(int i=0;i<length;i++)
    27         {
    28             Scanner s = new Scanner(System.in);
    29             id[i] = s.nextLine();
    30         }
    31         String m = "0";
    32         int n = 0;
    33         for(int i=0;i<length;i++)
    34         {
    35             if(n==0)
    36             {
    37                 m = id[i];
    38             }
    39             else if(id[i]==m)
    40                 n++;
    41             else 
    42                 n--;
    43         }
    44         System.out.println("水王ID为:"+m);
    45     }
    46 }

    实验截图:

    个人总结;

     id类型应为字符串,在数据中寻找大部分的那部分可采用消除的方法。

  • 相关阅读:
    hdu4841 圆桌问题[STL vector]
    hdu1002 A + B Problem II[大数加法]
    hdu1501 Zipper[简单DP]
    C语言学习之结构体
    C++学习之从C到C++
    一键自动格式化你的代码
    C标准库string.h中几个常用函数的使用详解
    Jlink使用技巧系列教程索引
    Jlink使用技巧之合并烧写文件
    Jlink使用技巧之烧写SPI Flash存储芯片
  • 原文地址:https://www.cnblogs.com/hzxsg0919/p/5512561.html
Copyright © 2011-2022 走看看