Lintcode48 Majority Number III solution 题解

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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值