研究生你是什么专业呢?本硕机械直接简历挂了😂
点赞 1

相关推荐

09-13 18:43
中山大学 C++
单选+多选题占30分,算法三道题70分算法第一道 新老员工分组问题,一个组最多三名员工,每个组仅能有一位老员工,如果组内有老员工,该组最多2名员工。只有几种分组情况:110000用贪心先找到所有的 10 对,剩下的老员工每个一组,将剩下的新员工除以3(三个一对),最后剩下的新员工不是剩2个就是1个,如果有剩下的新员工就+1,如果剩下的是老员工,ans+=老员工数量。第二道時間段內內存佔用波动,给定一个数组表示不同时间段内存占用和一个整数k表示遍历区间,找出区间内的差值最大。这题直接模拟就能过了。第三道礼品派发问题,给定一个数组表示礼品的价值,再给出k个人,判断每个人是否能分到平均的礼品价值?示例输入:[5,4,1,3,2,3,2],4输出:true解释:第一个人分到5,第二个分到(4,1),后面两个分到(3,2)示例输入2:[1,2,2,2,2],3输出:false解法:先排序数组,然后计算平均值(avg),接著用左右指针分别指到数组开头和结尾,假如右指针 > avg返回false,如果price[right]==avg,则right--;如果prices[left]+price[right],left++, right--;如果prices[left] + prices[right] > avg直接返回false。当 left > right 退出循环,代表平分完了,返回true。但这样过不了所有用例,假如avg为5,已经挑选了3,1,还可以再拿一个 1,所以当prices[left] + prices[right] < avg需要用 temp 变量来保存上次选取的值,判断是否等于avg时考虑temp+price[right] == avg。今天vivo笔试测例给的太良心了,还是第一次笔试ak,随便都能过70%,最后一题直接返回false or true都能骗到50%。
查看3道真题和解析 投递vivo等公司10个岗位
点赞 评论 收藏
分享
牛客网
牛客企业服务