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

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

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

    设计思想:得到每一个ID的出现次数,得到最多的那一个,每次用sql读取id出现次数List储存这个人的id,接着读取下一个id,若在list中存在则跳过。

    代码:

    package demo;
    public class FindActive {
        public static void find(int []list)
        {
            int l=list.length;
            int []sum=new int[l];
            for(int k=0;k<l;k++)
            {
                sum[k]=0;
            }
            for(int i=0;i<l;i++)
            {
                for(int j=0;j<l;j++)
                {
                    if(list[i]==j)
                    {
                        sum[j]++;
                    }
                }
            }
            int max=0;
            int flag=0;
            for(int m=0;m<l;m++)
            {
                if(sum[m]>max)
                {
                    max=sum[m];
                    flag=m;
                }
            }
            System.out.println("时间复杂度O(n方)得到的结果:"+flag);
        }
        public static int findbetter(int[] array)  
        {  
            int size = array.length;  
            int result = 0;// 需要查找的结果  
            int times = 0;// 出现的次数  
            for (int i = 0; i < size; i++)  
            {  
                // 如果次数等于0,重新指定结果  
                if (times == 0)  
                {  
                    result = array[i];  
                    times = 1;  
                }  
                else  
                {  
                    if (result == array[i])  
                    {  
                        ++times;  
                    }  
                    else  
                    {  
                        --times;  
                    }  
                }  
            }  
            return result;  
        }  
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int []list= {1,2,1,3,1,4,1,1,1,1,1,3};
            find(list);
            System.out.println("时间复杂度O(n)得到的结果:"+findbetter(list));
        }
    }

  • 相关阅读:
    公司实习职位与要求
    段子
    Python 练习项目1 弹球游戏
    精准控制PWM脉冲的频率和数量
    ST Link 调试问题总结
    验证
    大道至简(第六章)读后感
    动手动脑
    大道至简(第五i章)读后感
    数组课后作业
  • 原文地址:https://www.cnblogs.com/lishengming00/p/11068097.html
Copyright © 2011-2022 走看看