• 课堂练习-找水王


    实验题目:

          三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他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类型应为字符串,在数据中寻找大部分的那部分可采用消除的方法。

  • 相关阅读:
    多GPU模型转换到cpu上
    Ubuntu18.04安装electron
    Windows Server 2016 关闭windows defender service服务
    k8s整合Traefik2入门(一) 天宇轩
    ElasticSearch7集群+Keepalived 天宇轩
    kubernetes 高可用集群搭建 天宇轩
    开源软件下载地址
    Qt QStackedLayout
    显微镜调试及使用方法
    对模式的十大误解
  • 原文地址:https://www.cnblogs.com/hzxsg0919/p/5512561.html
Copyright © 2020-2023  润新知