首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
zz5627
门头沟学院 Java
发布于广东
关注
已关注
取消关注
@想吃奥利奥2:
华为OD机考分享(1)
热点网站统计题目描述企业路由器的统计页面,有一个功能,需要动态统计公司访问最多的网页URL topN请设计一个算法,可以高效动态统计TopN的页面输入约束每一行都是一个URL或一个数字,如果是URL代表一段时间内的网页访问,如果是一个数字N 代表本次需要输出的TopN个URL 输入约束:总访问网页数量小于5000个, 单网页访问次数小于65535次网页URL仅由字母数字和.分隔符组成,且长度小于等于127字节数字是正整数,小于等于10 ,且小于当前总访问网页数输出描述每行输入对应一行输出 输出按访问次数排序的前N个URL,用逗号分割 输出要求:每次输出要统计之前所有输入,不仅是本次输入如果有访问次数相等的URL,按URL的字符串字典序升序排列,输出排序靠前的URL输入www.huawei.comnews.qq.comnews.qq.comgame.163.comnews.sina.com.cnnews.qq.comgame.163.com3www.huawei.comgame.163.comgame.163.com2输出news.qq.com,game.163.com,news.sina.com.cngame.163.com,news.qq.com解题思路经典TopN问题,求访问次数前N,用最小堆package mainimport ( "bufio" "container/heap" "fmt" "os" "strconv" "strings")func main() { in := bufio.NewScanner(os.Stdin) count := make(map[string]int) ans := make([]string, 0) h := make(minHeap, 0) heap.Init(&h) for in.Scan() { line := in.Text() if len(line) != 1 { count[line]++ continue } n, _ := strconv.Atoi(line) for k, v := range count { if h.Len() == n { if v < h[0].count && !(v == h[0].count && k < h[0].url) { continue } heap.Pop(&h) } heap.Push(&h, item{ url: k, count: v, }) } topn := make([]string, n) for h.Len() > 0 { topn[h.Len()-1] = heap.Pop(&h).(item).url } ans = append(ans, strings.Join(topn, ",")) } fmt.Println(strings.Join(ans, "\n"))}type item struct { url string count int}type minHeap []itemfunc (h minHeap) Len() int { return len(h) }func (h minHeap) Swap(i, j int) { h[i], h[j] = h[j], h[i] }func (h minHeap) Less(i, j int) bool { return h[i].count < h[j].count}func (h *minHeap) Push(x interface{}) { *h = append(*h, x.(item)) }func (h *minHeap) Pop() interface{} { x := (*h)[len(*h)-1] *h = (*h)[:len(*h)-1] return x}
点赞 0
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-11 12:25
上海外国语大学 财务
看来以后找工作还得先看黄历
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
07-08 13:44
大家千万不要相信boss直聘上的offer
因为给你offer也会撤回的,试用期三个月,反正面到合适的就直接开除就行了。三天了上班前一天才说不合适,还好没有租房子,如果租房子那不得了了作为应届生的我们实在是太爽了,任何公司都能给我们一巴掌
机械打工仔:
还是那句话,它都这么对你了你还保护它干什么
点赞
评论
收藏
分享
06-09 20:53
已编辑
门头沟学院 Java
26届求求了🙏🥺
目标中小厂就行, boss200+沟通投出去 6份简历 1面试😫要了简历就没后续了,是不是简历写得不好,求大佬帮我看看简历提点建议🥺
sounfury:
找java工作的话把java内容占比写多点,你鸿蒙写太多了
点赞
评论
收藏
分享
06-21 17:53
华南师范大学 Java
26届找暑期实习,求大佬们指点
从3月份开始投,各种厂都试过了,要么面试没通过要么挂,没收到一份offer马上就要暑假了,求大佬们指点指点😭😭😭
BlitzIron:
校园经历去了
点赞
评论
收藏
分享
07-07 13:32
门头沟学院 业务管理
找实习简直易如反掌...
找实习简直易如反掌打到我脸上,最近一段时间一直在找实习,招聘软件上的hr要么已读不回,要么拿人当傻子。明明招的是在校生或应届生,但开口就是有没有相关的工作经验。好不容易以为自己找到了分月薪极低但是正常的工作,最后才发现居然是被hr拿去刷kpi的。我请问找实习和在一大坨中努力挖掘,最后凭借自己的努力成功拿下令人心冻的offer有什么区别...
马柳青:
就业寒冬真不是吹的
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
我从来没想过我会出轨
6197
2
...
三次入职字节,我终于成为了一名正式的bytedancer
4024
3
...
上班一周了 感觉这辈子完了
3612
4
...
大厂工作一年了,给想进游戏行业的朋友们写点体会
3013
5
...
修改简历被骗了将近700
2817
6
...
小米AIGC产品经理|面试实录
2648
7
...
刚来深圳第一天就被宰1650
2479
8
...
淘天lastday知无不言
2479
9
...
暂且原谅这个世界一下下
2478
10
...
百度后端一二面
2147
创作者周榜
更多
正在热议
更多
#
你认为小厂实习有用吗?
#
23075次浏览
263人参与
#
运营面经
#
116079次浏览
1254人参与
#
如果公司给你放一天假,你会怎么度过?
#
15187次浏览
107人参与
#
秋招最大的收获是什么?
#
36334次浏览
310人参与
#
硬件人秋招的第一个offer
#
80438次浏览
1155人参与
#
三一重工求职进展汇总
#
13704次浏览
62人参与
#
硬件人,你被哪些公司给挂了
#
59330次浏览
827人参与
#
你的领导最像哪种动物,为什么?
#
14777次浏览
107人参与
#
总结:哪家公司面试体验感最差
#
59782次浏览
268人参与
#
说说你知道的学历厂
#
43915次浏览
266人参与
#
材料人,你们签了哪个公司
#
7708次浏览
18人参与
#
实习生的蛐蛐区
#
59983次浏览
431人参与
#
如果重来一次你还会读研吗
#
176196次浏览
1780人参与
#
哪一瞬间觉得自己长大了
#
11349次浏览
249人参与
#
烟草笔面经互助
#
18011次浏览
184人参与
#
面试尴尬现场
#
35563次浏览
233人参与
#
计算机有哪些岗位值得去?
#
18539次浏览
166人参与
#
你找工作的时候用AI吗?
#
20523次浏览
246人参与
#
下班后的时间你怎么安排
#
11289次浏览
150人参与
#
电网笔面经互助
#
37180次浏览
359人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务