一亩三分地论坛

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

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

G家店面Top k candidates after time t

[复制链接] |试试Instant~ |关注本帖
Keyrrae 发表于 2016-11-18 11:24:23 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@Google - 内推 - 技术电面 |Passfresh grad应届毕业生

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

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

x
美国小哥上来就说你关注大选了吧,我们来做一道和投票有关的题
其实是一道老题


给一个List<Vote>,t, k
实现一个方法,返回时间 t 以前所有投票中得票排前 k 的候选人id: List of candidateIds
public static List<Long> getTopKCandidates(List<Vote> votes, int k, long t). 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
. visit 1point3acres.com for more.
. 鍥磋鎴戜滑@1point 3 acres
class Vote{
     long candidateId;
     long timestamp;
}

(candiateID, timestamp)
(500, 4000)
(600, 5000). From 1point 3acres bbs
(600, 3000)
(500, 8000)
(300, 2000)
(300, 1000)
k = 2
t = 6000

return (300, 500)

求RP啊求RP





补充内容 (2016-11-18 11:25):
Title 写错了,应该是before time t
. visit 1point3acres.com for more.
补充内容 (2016-12-3 12:58):
return (300, 600)

评分

1

查看全部评分

本帖被以下淘专辑推荐:

woshigtc 发表于 2016-11-18 11:48:28 | 显示全部楼层
如果这个function调用不是特备频繁,是不是可以根据时间k-select,然后再在范围内根据candidate的选票情况再做hash+k-select?

如果调用很多就可以直接先对时间排序,投票还是hash+k-select?
回复 支持 反对

使用道具 举报

woshigtc 发表于 2016-11-18 11:51:10 | 显示全部楼层
看错题目,看来每次都是不同的list,那就直接2个kselect吧
回复 支持 反对

使用道具 举报

 楼主| Keyrrae 发表于 2016-11-18 11:51:10 | 显示全部楼层
woshigtc 发表于 2016-11-18 11:48
如果这个function调用不是特备频繁,是不是可以根据时间k-select,然后再在范围内根据candidate的选票情况 ...

是的,heap也可以
回复 支持 反对

使用道具 举报

woshigtc 发表于 2016-11-18 11:52:30 | 显示全部楼层
Keyrrae 发表于 2016-11-18 11:51
是的,heap也可以

heap复杂度是O(nlogk),k-select会好一点O(n)就好了
回复 支持 反对

使用道具 举报

fay19 发表于 2016-11-20 04:46:42 | 显示全部楼层
楼主return结果是不是有点问题呀?500的两票一个是在timestamp 4000, 一个是8000,所有6000之前他只有一票?是不是应该return 300 和 600
回复 支持 反对

使用道具 举报

xinyukkkk028 发表于 2016-12-1 05:19:25 | 显示全部楼层
楼主拿到onsite了么?隔了多久才知道的?
回复 支持 反对

使用道具 举报

cgxy1991 发表于 2016-12-2 11:51:03 | 显示全部楼层
fay19 发表于 2016-11-20 04:46
楼主return结果是不是有点问题呀?500的两票一个是在timestamp 4000, 一个是8000,所有6000之前他只有一票 ...
. 1point 3acres 璁哄潧
我也发现了,是应该300和600。
再问下楼主就这一道题吗。。感觉太简单了吧
回复 支持 反对

使用道具 举报

 楼主| Keyrrae 发表于 2016-12-3 12:57:34 | 显示全部楼层
fay19 发表于 2016-11-20 04:46. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
楼主return结果是不是有点问题呀?500的两票一个是在timestamp 4000, 一个是8000,所有6000之前他只有一票 ...

恩恩,是的是的
回复 支持 反对

使用道具 举报

 楼主| Keyrrae 发表于 2016-12-3 12:57:51 | 显示全部楼层
return (300, 600)
回复 支持 反对

使用道具 举报

 楼主| Keyrrae 发表于 2016-12-3 13:00:24 | 显示全部楼层
xinyukkkk028 发表于 2016-12-1 05:19
楼主拿到onsite了么?隔了多久才知道的?

拿到了,兩個工作日
回复 支持 反对

使用道具 举报

 楼主| Keyrrae 发表于 2016-12-3 13:01:10 | 显示全部楼层
cgxy1991 发表于 2016-12-2 11:51
我也发现了,是应该300和600。
再问下楼主就这一道题吗。。感觉太简单了吧
. 1point 3acres 璁哄潧
不知道呀,我的同學都是只面一道題
回复 支持 反对

使用道具 举报

xinyukkkk028 发表于 2016-12-3 13:04:06 | 显示全部楼层
Keyrrae 发表于 2016-12-3 13:01.鏈枃鍘熷垱鑷1point3acres璁哄潧
不知道呀,我的同學都是只面一道題

啊。。我过了2天了还没信。。。是不是悲剧了。。。。
回复 支持 反对

使用道具 举报

winterfly 发表于 昨天 10:40 | 显示全部楼层
请问k slect是指什么算法啊?
回复 支持 反对

使用道具 举报

winterfly 发表于 昨天 10:41 | 显示全部楼层
woshigtc 发表于 2016-11-18 11:52
heap复杂度是O(nlogk),k-select会好一点O(n)就好了

请问k-select是啥?
回复 支持 反对

使用道具 举报

 楼主| Keyrrae 发表于 1 小时前 | 显示全部楼层
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 04:54

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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