美团笔试 3.25

去年这个时候就在力扣上写过一次美团的统一在线笔试题,当时是过了4.95,后面看大佬们说是没有判断边界。

今天五道题不难
1.栈的压入弹出序列,力扣原题,链接在下面
2.吃糖 -> 这题就是力扣原题打家劫舍的稍微变种,从不能同时偷相邻的变成不能偷距离<2的
3.巧克力 -> 看到背包能装多少,我还以为背包问题,结果包的容量10^18这么大,不可能,然后想想用贪心,只要求装入巧克力块数最多,那么优先装质量最小的巧克力就行,直到背包容量不够或者巧克力全部装入背包。这种做法复杂度O(nm),超时,于是使用排序+前缀和+二分,可以在O(logn)时间定位到每次询问的最大巧克力个数,总复杂度O(mlogn).
4.字符串split后直接用hashmap存放就行,hhh没有考什么算法。
5.吃糖->最多打破a次规则,我用三维dp解决的,dp[i][j][k] :i 表示考虑前n个糖果,j为0表示今天没吃糖,j为1表示今天吃糖了,k表示目前已经打破规则的次数。dp[i][j][k] 就表示该状态下能吃的最大美味值。
    那么转移公式如下:
        dp[i][0][j] = Math.max(dp[i-1][0][j] , dp[i-1][1][j]);
        dp[i][1][j] = Math.max(dp[i-1][1][j-1] , dp[i-1][0][j]);
最后再提一嘴,提交完所有的题目后,用电脑的截屏软件将题目保存到本地,是想考完后复盘一下的,请问这样会被判作弊吗?
全部评论
从哪里看这些题目啊
点赞 回复 分享
发布于 2023-03-26 12:52 江苏
用Go写的,第一题超时,卡81,跟**上的答案几乎一模一样,到现在没找到原因
点赞 回复 分享
发布于 2023-03-26 09:17 江苏
我们思路包括最后一题的dp数组几乎一模一样了
点赞 回复 分享
发布于 2023-03-25 21:18 上海

相关推荐

ai面试 1.简单介绍自己,实习经历,项目等2.我看你的项目…,说说怎么做的吧3.http协议讲讲吧3.1 你提到了http1. 1.1 2.0 3.0 的区别,并且提到了队头阻塞,那你说说2.0的队头阻塞怎么解决呢3.2 你提到升级http3.0,同时也说到了升级的硬件约束很大,能不能根据2.0的多路复用和头部压缩怎么提升在高并发情况下的通信效率4.请你简单介绍实现一个邀请功能吧,数据设计和api模式4.1 你提到可以用消息队列和uuid幂等,那么怎么确保消息在发生过程不丢失,不被重复消费呢4.2 现在有这么一个场景,用户想要获取邀请数据该怎么设计呢?5.你知道分库分表吗,在高并发情况下怎么分库分表能使得系统性能较高呢5.1你提到可以用hash来均匀分库分表,那么如果这个时候需要跨表查询数据,高并发情况下,尤其是用户的一些特定数据,需要范围查询(时间)等,怎么办呢5.2 你说可以建立一个关联表,高并发情况下,如果想要提升性能怎么设计呢(不确定,有点记不清了)7.现在有多供应商和多大模型,你作为后端,需要提供统一网关,完成策略回退,配额管理,以及兼容性api7.1 你说可以用websocket实现配额消费监听,高并发情况下,这个时候如果出现了数据漏写和重写,怎么办呢第6点想不起来了,应该不是很难的吧…笔试选择题十题编程题三道:1.最大递增子序列(签到题)2.最小括号交换次数使其有序如:))((,需要三次3.图论,无向图,给出一个二进制序列(长度为n),接下来给出从n-1条信息a,b表示(a,b)直接有边。再下来给出m条信息,格式为a,b,ca为2请你给出从b到c简单路径组成的序列的二进制转十进制。如:2 1 3 。1到3可能是010,则你输出2a为1请你把b到c路径上的数据反置,如010变为101。(a为1和a为0可以交替着来,所以你需要更新序列的)。总结ai面的难度不低笔试a了1.8道,个人感觉还行最大的问题是,孩子不太懂acm的输入输出还有这个他的编程器,我不知道怎么读字符串,我用String str=in.nextLine()报错最后还是借助idea 代码补全给我弄的输入String str=in.next()我真没招了还有就是下一题定义数组又报错,直接又是代码补全,发现我少补了一个长度进去。唉,希望不要判我作弊
查看13道真题和解析
点赞 评论 收藏
分享
评论
7
19
分享

创作者周榜

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