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;
        }
    }
    

      

  • 相关阅读:
    [CF528D] Fuzzy Search
    [WC2013] 糖果公园
    [APIO2011] 方格染色
    [CTSC2017] 吉夫特
    [HNOI/AHOI2018] 转盘
    [CTSC2008] 网络管理
    [HAOI2018] 苹果树
    [SCOI2016] 萌萌哒
    git创建分支并提交项目
    git 常规操作
  • 原文地址:https://www.cnblogs.com/yuezhihao/p/6729661.html
Copyright © 2011-2022 走看看