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

    一、程序要求

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

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

    二、程序设计思想  

         题目给出:“水王”发帖数目超过了帖子数目的一半,那么在众多的帖子中,至少有两个是挨着的,即有相邻的两个ID是相同的。把回帖列表简单化——在一个数组里,存着若干数,其中一个数的数目超过数组中所有数的数目的一半以上。所以,每两个数比较:若相同,目前水王出现次数加1,不同就减1;如果目前水王出现次数为0,就从当前ID重新开始两个数比较,重复上述过程,一直到最后一个数,找到水王。

    代码

    package test;
    
    import java.util.Scanner;
    
    public class zczxc {
    public static void main(String[] args) {
    	 int[] ids = {1,2,3,1,1,1,2,2,2,4,1,1,1,3,3,1,1,1};  
    	          System.out.println("水王的ID是"+findshuiwang(ids)); 
    	     }
    	      public static int findshuiwang(int[] id)
    	     {            
    	         int n = id.length;  
    	         int shuiwang = 0;  
    	         int count=0;  
    	         for(int i=0;i<n;i++)
    	         {  
    	             if(count == 0)
    	             {  
    	                 shuiwang = id[i];  
    	                 count = 1;  
    	             }  
    	             else
    	             {  
    	                 if(shuiwang == id[i])  
    	                     count ++;  
    	                 else   
    	                    count --;  
    	             }  
    	         }  
    	         return shuiwang;  
    	       }  
    }
    

      程序结果

  • 相关阅读:
    BSGS模板(互质与不互质) 洛谷P4195、P3846
    整除分块(数论分块)
    洛谷P3327 [SDOI2015]约数个数和——莫比乌斯反演
    模块二
    模块
    二分法 匿名函数
    3.26作业
    函数的递归调用
    yield表达式 三元表达式
    3.25作业
  • 原文地址:https://www.cnblogs.com/guziteng1/p/13040058.html
Copyright © 2011-2022 走看看