推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 2264|回复: 15
收起左侧

G家店面Top k candidates after time t

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

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

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

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

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


给一个List<Vote>,t, k. From 1point 3acres bbs
实现一个方法,返回时间 t 以前所有投票中得票排前 k 的候选人id: List of candidateIds
public static List<Long> getTopKCandidates(List<Vote> votes, int k, long t)


class Vote{
     long candidateId;
     long timestamp;
}

(candiateID, timestamp)
(500, 4000). 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
(600, 5000)
(600, 3000)
(500, 8000)
(300, 2000). more info on 1point3acres.com
(300, 1000)
k = 2. From 1point 3acres bbs
t = 6000

return (300, 500)

求RP啊求RP





补充内容 (2016-11-18 11:25):
Title 写错了,应该是before time t

补充内容 (2016-12-3 12:58):. Waral 鍗氬鏈夋洿澶氭枃绔,
return (300, 600)

评分

1

查看全部评分

本帖被以下淘专辑推荐:

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

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

使用道具 举报

woshigtc 发表于 2016-11-18 11:51:10 | 显示全部楼层
关注一亩三分地微博:
Warald
看错题目,看来每次都是不同的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之前他只有一票 ...

我也发现了,是应该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。. 1point3acres.com/bbs
再问下楼主就这一道题吗。。感觉太简单了吧

不知道呀,我的同學都是只面一道題
回复 支持 反对

使用道具 举报

xinyukkkk028 发表于 2016-12-3 13:04:06 | 显示全部楼层
Keyrrae 发表于 2016-12-3 13:01
. 1point3acres.com/bbs不知道呀,我的同學都是只面一道題

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

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

 楼主| Keyrrae 发表于 2016-12-11 03:44:55 | 显示全部楼层
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-7-25 22:44

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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