zoukankan      html  css  js  c++  java
  • 课题作业之水王

    这个小程序的编写时我们两人小组第三次合作完成的,随着前两次项目的开发,这次作业的完成相对比较顺利,两个人的默契程度提高了不少;

    作业要求:找出在贴吧中真正的水王(发帖及回帖数超过所有帖子的一半),时间复杂度小于等于O(n);

    设计思路:最开始的时候想着用遍历所有数组里的数据统计比较完成,发现时间复杂度较高,之后通过讨论发现,因为水王发帖个数超过,如果通过比较不同消去的方法就可以实现了,我们因此采用了栈的思想实现了消去的过程;

    代码如下:

    import java.util.Stack;
    public class Water {
        public static void main(String[]args)
        {
            String[] a ={"1","1","1","1","2","2","2"};
            String waterwang=select(a);
            System.out.println("水王:");
            System.out.println(waterwang);
        }
        static String select(String[] a)
        {
            Stack<String> s =new Stack<String>();
            s.push("#");
            for(int i=0;i<a.length;i++)
            {
                if(a[i].equals(s.peek())||s.peek().equals("#"))
                {
                    s.push(a[i]);
                }
                else
                {
                    s.pop();
                }
            }
            String rs=s.pop();
            return rs;
        }
    }
    

      

  • 相关阅读:
    二十三、java连接oracle数据库操作:jdbc
    四、正则表达式使用
    Linux常用命令大全
    消息队列的常见问题
    JVM:带你查看常见的问题,以及分析处方法
    JVM监控与调优
    缓存总结2
    缓存总结1
    消息队列mq总结
    Java集合Map基本方法
  • 原文地址:https://www.cnblogs.com/yuezhihao/p/6729661.html
Copyright © 2011-2022 走看看