oppo 240727 笔试AK

方向 机器学习
📝笔试题目思路介绍

1. n-》m(可以-1 可以整除k)
核心判断:
- 还有没有必要除以k (n/k > m?)
- 快速到要整除的位置 (n = (n // k) * k)

2. 字符串s 包含子串a b的最大数量
题目巧妙的地方 首字母大写 保证子串不会重叠(这个很关键 题目因此变得简单)
剩下的就是统计字符串s a b的各字母个数即可(ch[26])
我写了个函数判断 ch_a[26] 最多能造出多少个ch_b[26] 其实就是判断字符数量够不够

比如s最多能造出k个a串
遍历(0-k)个a串情况 + 剩余字符能造出的 x个b串
结果选最长即可

吐槽:a、b互为子串的时候(Ab、Abc)不会统计两次
这个是我在测试的时候发现的 还特意写了个if 废弃了

3. 二部图的最多增加边数

核心思路 二部图最大边数 (x*y)x、y是两个部分的节点数量
那么就是把n分成两个部分 让他们尽可能平衡
除去给出的(n-1)条边 最终结果就是x*y- (n-1)

新的问题是分配成两个部分
每一条边的u v两端 都必须分散在两个部分

给出的n-1条边会构造出k个子图(k个二分图 大小不一)
本来想用并查集弄结果没必要 用set暴力存就行

构造出k个子图[子图大小,set(左半边),set(右半边)]

然后根据大小排序 先排大子图,之后平衡最终子图两边的数量(贪心的分配节点)
最后 len(左半边节点数量)*len(右半边节点数量)-(n-1)就结束

只讲思路就不实现了

AK完还剩10min,不过选择题挺多蒙的

祝大家offer++

全部评论

相关推荐

#牛客AI配图神器#和波主熟的朋友们都知道,波主真的很挺贪玩的哈哈哈哈很少看八股,也不爱看。。可能你们现在拷打波主八股会支支吾吾...回想我的面试,似乎都是围绕着我会的地方问,大概是最近和宿佬还有学长学到的引导面试罢...注意,此文只适合对面试技巧提升,并不是说可以不学八股啊喂!!回忆本人的面试经验,面试官刚拿到你的简历,对你是一无所知的,那其实他会根据印象深的东西对你进行提问,所以我们在简历方面可以做一个引导。面试开头是很正常的自我介绍,很多人会觉得随便说一下就好,但其实我们可以在这里也做一个引导的,而且多说一点也可以给面试官时间看你的简历,所以这里也可以准备一下。然后就是具体提问了,对实习...
nokotan:佬tql,还很谦虚。个人决定佬说得很对,要有意把面试官提问引导到简历项目上,但前提是自己对项目一定要熟悉。项目的需求背景、难点痛点、已有方案的不足、解决方案的实现都得有认知,虽然我们实习大多数是打杂,但是不影响我们偷文档学业务。只要能把上面几个点做到自圆其说,那基本就有6、7成把握了
点赞 评论 收藏
分享
评论
6
8
分享

创作者周榜

更多
牛客网
牛客企业服务