zoukankan      html  css  js  c++  java
  • WOJ -1204

    WOJ -1204

    1 出现次数大于一半

    那么就利用普通的堆栈的思想,如果删除两个不同的元素,原来的多数元素还是多数元素,所以采取按条件入栈的方法,如果和top元素相同则入栈,否则top--,此元素也不入栈,所以最后栈顶元素就是我们要寻找的多数元素,输出即可,并且此时栈里面元素个数>1,都为多数元素

    2 出现次数恰好为一半

    这个时候,堆栈被pop为空,但是算法本身会将最后一个元素push进去,所以需要额外的判断操作,处理的时候都是先入栈,然后判断栈顶指针的,所以此时,栈顶指针应该是0,但是栈里面的元素还是有的,我们的多数元素只可能是栈顶或者栈顶的下一个元素

    注:

    数组定义在函数中时,占用的内存来自栈空间,栈空间是在进程创建时初始化的,有固定的大小,一般为几十KB,所以太大的数组会耗光栈空间。​全局变量一般分配在数据段。

  • 相关阅读:
    实验四 主存空间的分配和回收
    学期总结
    实验三 进程调度模拟程序
    团队项目
    博客参考评论
    dos系统
    学习进度条
    了解和熟悉操作系统
    问题的思考和回答
    Python-关于脚本和冒泡算法
  • 原文地址:https://www.cnblogs.com/wangyuqin/p/6098651.html
Copyright © 2011-2022 走看看