《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 473|回复: 4
收起左侧

[算法题] 一道面试题

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

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

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

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
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-11-24 15:50

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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