• 大二下学期学习进度(十三)


    编码时长:11h

    编码行数:500行

    发表博客篇数:2

    所学知识点:

    1.找水王

    水王是指发表内容超过总内容的一半以上

    解题思路:这个问题的突破点在于一半以上,这意味着总体来看,每两片就有一篇或者以上是水王发表的,根据这个思路,来进行解题。这里用一维数组代替各用户的用户ID,运用for循环来遍历,每两个做一次比较,如果两篇不同,则在理论上删除前两篇,如果相同则暂时认为是水王 并计数number++,如果下面出现同样相同的一组,并且数字与水王不同,则number--;直至减为0,则重新认水王。最后留下的便是水王。

    public class Shuiwang {
    	public static int find(int[] array)  
        {  
            int size = array.length;  
            int result = 0;
            int number = 0;
            for (int i = 0; i < size; i++)  
            {  
                
                if (number == 0)  
                {  
                    result = array[i];  //认为array【i】是水王
                    number = 1;         //并计数为1
                }  
                else  
                {  
                    if (result == array[i])  //array【i】和水王相同,number++;
                    {  
                        ++number;  
                    }  
                    else                  //array【i】和水王不同,则number--,直至为0,重新认定水王。
                    {  
                        --number;  
                    }  
                }  
            }  
      
            return result;  
        }  
    	public static void main(String[] args)  
    		    {  
    		        int[] array =  
    		        {  
    		                2, 3, 2, 3, 7, 3, 9,3, 6,3, 1,3, 4,3, 10,3,3
    		        };  
    		        System.out.println("水王的ID:"+find(array));  
    		    }  		    
    	
    }
    

      运行结果:

  • 相关阅读:
    c# 反射应用之工厂
    UnityContainer 实现DI
    TinyMCE 的音乐插件/mp3 music insert plugin
    Django on IronPython and Windows
    说说分页
    Katze 简单的.net "ORM"框架
    Discuz!NT在64位Windows下运行的问题
    恐怖的迅雷
    基于Gettext的asp.net网站多语言解决方案
    微软是如何输掉API之战(下)
  • 原文地址:https://www.cnblogs.com/zjl-0217/p/10970300.html
Copyright © 2020-2023  润新知