美文网首页Lintcode
Lintcode48 Majority Number III s

Lintcode48 Majority Number III s

作者: 代码码着玩 | 来源:发表于2017-04-16 12:27 被阅读14次

【题目描述】

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/

相关文章

网友评论

    本文标题:Lintcode48 Majority Number III s

    本文链接:https://www.haomeiwen.com/subject/qsrznttx.html