2011年10月22日

摘要: 呵呵,博客园的hello world文章.今天在学习编程之美书上的题,遇到了这个题.具体的题目我就不来讲了,博客园里有很多这道题的说明.我想侧重讲一下对书中提出的解法的理解. 这道题要解决的问题,可以概括为:在无序且存在重复的序列中,找出重复最多的那个元素.前提:重复最多的元素超过总数的一半. 按照传统的解法,当然是先排序,然后再扫描一遍,记录每个元素的出现次数.这样的话,正如书中所说,复杂度为O(N*logN + N).针对这道题,考虑到已知重复最多的元素的数量是超过总数的一半的,那么我们可以不需要排序,而是每次删除两个不同的元素,那么在剩下的序列中,重复最多的那个元素还是依然超过总... 阅读全文

posted @ 2011-10-22 19:22 EmPower 阅读(207) 评论(0) 推荐(0)


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3