摘要: 定义:序列中的多数元素是指在一个元素个数为n的序列中,多数元素出现次数大于[n/2].寻找元素方法很多:1.可以暴力搜索,将每个元素都与其他元素作比较,然后统计该元素出现的次数,时间复杂度为O(n2);2.可以先排序,然后再统计每个元素出现的次数,时间复杂度为O(nlogn);3.可以寻找中间值元素,因为多数元素在序列中必为中间值元素,时间复杂度是O(n);(寻找中间值元素可以运用寻找第k小元素算法:http://www.cnblogs.com/7hat/p/3411756.html)这里要介绍第4种方法,时间复杂度也是O(n),但是隐藏常数会比寻找中间值的方法要小。算法基于以下观察:在原序列 阅读全文
posted @ 2013-11-10 09:28 7hat 阅读(2026) 评论(0) 推荐(0) 编辑