Amazon hackerrank 240 min 题目

avatar 69877
水果糖
4665
17
据说发帖子可以攒人品,发一个刚刚的online code assignment

地里面找来的内推,10/16周一推得,周五收到了Most Popular Videos 的code assignment。今天做完和提交。
题目就是实时获取video的popular程度和排名,需要实现三个函数,

videoViewed(String videoId) - 观看video,每看一次view次数就会增加
getRanking(String video) 根据一个videoId,找到其排名,排名根据views的次数来排序
getTopVideos() - 得到前十排名

video大概数量为1 million,设计一个实现方案来存储和获取video,要求详细写明思考的过程,分析复杂度,必要时注释。

我用的方法就是类似LRU的实现,hashmap + doubly linkedlist,如果view的次数变动,那么就移动那个video 的linkedlist节点到相应的位置。
  • 2
17条回复