zoukankan      html  css  js  c++  java
  • 找水王

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

    方法:

                   定义一个数组依次输入每个帖子对应的ID号,将数组的第一个值赋给m,以后就用m记录ID号,用j记录是否为相同的ID即为计数器,通过依次对每一个帖子进行遍历,如果是ID号与m记录的ID号相同,j便增加1,否则减少1,当j减为0时,m记录的是下一个的ID号,j从1开始计数,最后剩下的那个或是数量最多的m即为水王的ID。

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.sql.Time;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Scanner;
    import java.util.Set;
    public class English_word {
     
     public static void main(String[] args) throws FileNotFoundException {
    
      long startTime = System.currentTimeMillis();
      File file = new File("D:\water_king.txt");// 读取文件
      if (!file.exists()) {// 如果文件打不开或不存在则提示错误
       System.out.println("文件不存在");
       return;
      }
      String max="";int maxs=0;
      Scanner x = new Scanner(file);
    
      if(x.hasNextLine()) {
       max = x.nextLine();
       maxs=1;
      }
      while (x.hasNextLine()) {
       String line = x.nextLine();
       if(max==line) {
        maxs++;
       }else {
        maxs--;
        if(maxs<0) {
         max=line;
        }
       }
        
    
      long endTime = System.currentTimeMillis();
      System.out.println(endTime-startTime+"ns");
      System.out.println(max);
    
     }
    }
  • 相关阅读:
    洛谷 1339 最短路
    洛谷 1330 封锁阳光大学 图论 二分图染色
    洛谷 1262 间谍网络 Tarjan 图论
    洛谷 1373 dp 小a和uim之大逃离 良心题解
    洛谷 1972 莫队
    洛谷 2158 数论 打表 欧拉函数
    洛谷 1414 数论 分解因数 水题
    蒟蒻的省选复习(不如说是noip普及组复习)————连载中
    关于筛法
    关于整数划分的几类问题
  • 原文地址:https://www.cnblogs.com/adret/p/11070900.html
Copyright © 2011-2022 走看看