首页 > 其他 > 详细

WOJ -1204

时间:2016-11-24 19:19:46      阅读:262      评论:0      收藏:0      [点我收藏+]

WOJ -1204

1 出现次数大于一半

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

2 出现次数恰好为一半

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

注:

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

WOJ -1204

原文:http://www.cnblogs.com/wangyuqin/p/6098651.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!