Lintcode48 Majority Number III solution 题解

来源:互联网 发布:我的世界js下载手机版 编辑:程序博客网 时间:2024/05/21 19:40

Lintcode48 Majority Number III solution 题解


【题目描述】

Given an array of integers and a number k, the majority number is the number that occurs more than 1/k of the size of the array.Find it.

Notice:There is only one majority number in the array.

给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的1/k。

注意:数组中只有唯一的主元素

【题目链接】

http://www.lintcode.com/en/problem/majority-number-iii/

【题目解析】

依然抵消法,但是为了更快的获取,消除,增加次数,这里应该用hashtable(dictionary in python)

然后在剩下的数中找到出现次数最多的数,就是majority number(因为前提是只有一个majority number)

如果不确定,可以再loop一次找出这个数的出现次数

【参考答案】

http://www.jiuzhang.com/solutions/majority-number-iii/

0 0
原创粉丝点击