帆软笔试第2道编程题怎么做

N比赛轮数,K阈值,R评分数组
2^N场比赛 根据评分  评分高的人必胜
要求:评分前两名 决赛对决
评分前四名  半决赛
评分前八名  1/4决赛
。。。
如果对决的差值大于阈值K,则称该场次为势均力敌的比赛
问最多能有多少场势均力敌的比赛?
好难啊🤯 #笔试#
全部评论
刚做完,居然AK了,题目条件是尽量公平,也就是前两名一定进决赛,前四名一定进四强,以此类推。所以可以先排序,降序,每打一轮数组就减少后面一半的人(当然这里数组没有必要真的删掉后一半,遍历的时候每次缩小一半即可),遍历所有轮数(log2N),每一轮枚举前一半和后一半的比赛情况(前一半 * 后一半 O(n2)),看是否小于等于阈值K,这里的枚举可以用到大量的剪枝,因为已经排好序了,第一个剪枝,如果一旦前一半某个数和后一半某个数差值小于K,说明已经匹配好了,ans++,直接退出,枚举前一半下一个元素,第二个剪枝,如果前一半某个数和后一半某个数差值已经大于K了,也直接退出,因为是降序,后一半某个数后面的数只会更小,再和前面的比较更会大于K了,直接退出,我是两个剪枝后就AK了
点赞 回复 分享
发布于 昨天 21:21 吉林
请问帆软笔试是链接失效前随便找个时间做都行吗?刚收到邮件
点赞 回复 分享
发布于 今天 17:16 上海

相关推荐

面试是进入公司, 之后会和部门双选。一共2或者3轮技术面。【面试问题】1️⃣ 请简单自我介绍。2️⃣ 你选择投递后端开发岗位的原因是什么?7️⃣ 你们的技术栈是什么?项目1️⃣2️⃣ 请描述这项目的合作方式与个人贡献。1️⃣3️⃣ 请讲解 JWT 的组成及登录鉴权流程。1️⃣4️⃣ 什么是双 token?它解决了什么问题?1️⃣5️⃣ 如果长 token 泄露,攻击者是否能无限续签?如何降低风险?1️⃣6️⃣ 为什么选择 JWT 而不是 Session+Redis 方案?1️⃣7️⃣ 使用 Redis 存 Session 后,服务端是否仍算有状态?扩展时需要改造吗?1️⃣8️⃣ 如何让 JWT 支持强制下线(登出)?1️⃣9️⃣ 线程与进程在 Linux 下的区别是什么?2️⃣0️⃣ C++ 线程与操作系统线程的对应关系?Go 的 goroutine 呢?2️⃣1️⃣ 你常用的语言有哪些?Go 和 Python 是什么时候学的?2️⃣2️⃣ HTTPS 与 HTTP 的区别?2️⃣3️⃣ 描述一次 HTTPS 完整握手流程。2️⃣4️⃣ HTTPS 证书在哪一步校验?具体如何校验?2️⃣5️⃣ 为什么要先用非对称加密交换密钥,再用对称加密传输数据?2️⃣6️⃣ HTTPS 能否被中间人攻击?如何在本机解密抓包?2️⃣7️⃣ 设计一张 100 万级用户表,支持登录与权限查询,你会如何建表与建索引?2️⃣8️⃣ 是否可以把手机号、email、地址等所有字段都加索引?为什么?2️⃣9️⃣ 如何查看 SQL 是否命中索引?3️⃣0️⃣ 哪些原因会导致索引失效?3️⃣1️⃣ 你在项目里用 Redis 做什么?3️⃣2️⃣ 如何用单节点 Redis 实现分布式锁?3️⃣3️⃣ 如果业务执行时间不确定,如何给锁设置过期时间并避免提前释放?3️⃣4️⃣ 设计一个容量 100 亿、内存 ≤ 10 GB 的短链系统,你会怎么做?3️⃣5️⃣ 如何解决哈希分桶后的数据倾斜问题?3️⃣6️⃣ 除了哈希分桶,是否有更高效的外部存储 + 索引结构?3️⃣7️⃣ 你平时如何学习新技术栈?3️⃣8️⃣ 是否参与或维护过开源项目?3️⃣9️⃣ 你如何把个人开源项目推广给目标用户?4️⃣0️⃣ 是否有技术博客?4️⃣1️⃣ 举一两个你用技术解决生活实际问题的例子。
面试问题记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务