这是一个编码面试问题:
你的学校正在进行一次选举,你的任务是编写一个符合选举结果的程序。
您将获得一组选票,每张选票包含一名候选人和一个时间戳。给定一个时间戳,返回在该时间戳投票最多的前N名候选人。(每次计票必须在给定时间之前或之前)
最佳答案
创建min heap和hashmap数据结构来解决这个问题。
一。在hashmap中投票(候选人,投票)。
2.在任何时候,我们想要找到n个热门候选,添加所有的hashmap键(候选投票)到最小堆中,限制大小为n。
三。返回最小堆中的所有项,这将返回前n名候选人的选票。(作为最小堆筛选对大小n有限制的候选项)。
关于algorithm - 学生选举结果统计,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38819510/