一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 376|回复: 4
收起左侧

[算法题] 一道面试题

[复制链接] |试试Instant~ |关注本帖
traderalg 发表于 2016-1-6 12:27:06 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
How to find the most frequent number in a sequence of number?  Any ideas?
dummyshooter 发表于 2016-1-6 13:21:33 | 显示全部楼层
hashtable average o(n) worst o(n^2)      sort + traverse o(nlogn)
回复 支持 反对

使用道具 举报

stellari 发表于 2016-1-6 14:20:10 | 显示全部楼层
用一个hashmap把每个数字出现的次数都统计出来,同时维护一个变量m,记录当前出现次数最多的元素。每当一个数字n新出现一次,就看是否n目前出现的次数是否超过m的次数,如果超过,就把m替换为n。然后重复这个过程直到检查完sequence中每个元素即可。把变量m替换为一个大小为k的heap(或者binary search tree),就能够实现找出前k个最常见的元素。
回复 支持 反对

使用道具 举报

huangheqing 发表于 2016-1-7 02:15:15 | 显示全部楼层
the easiest method I can come up with is also using a hashtable to store keys and values.
Any limitations? Time complexity? Space? If it requires O(1) space, I don't know then...
回复 支持 反对

使用道具 举报

 楼主| traderalg 发表于 2016-1-11 03:27:59 | 显示全部楼层
there is an O(N) algorithm
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-7 21:17

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表