5.10美团笔试

似乎美团笔试成绩不重要,不管了,求捞吧

选择题(30分10道)

选择题6道大模型,完全不会,乱选,还有一道希尔排序,早忘光了,乱选...

编程题(70分3道)

第一道 100%

似乎是每次可以朝着上下左右走a_i步(a_i=0 or 1),求当前位置(x,y)是否能恰好在走完n步后到达(p,q)

EZ,直接判断曼哈顿距离,看是否能走到,只要走到目的地之后还可以走偶数步即可(左右/上下摇摆)

第二道 100%

最多选择一个操作使得区间[l,r] 一起加1,求陡峭程度的最小值?(陡峭程度为\sum\limits_{i=2}^n\left|{A_{i}-A_{i-1}}\right|

蛮简单,差分的思想,区间相加对应的是suf[i]++,suf[r+1]--;

对于suf_i 和suf_j有4种情况(><,<>,>>,<<0)只要suf出现了非0元素则可以通过l=1 or r=n的方式解决。

若满足了suf_i<0&&suf_j>0 (j>i)则一个负数++和一个正数--,减免2

第三道 0%

前两道写完还有一个多小时,没想出来,最后打了暴力O(nq)还是0%,麻了

从数组a (长度为 n)中挑选两个非空子序列,这两个子序列元素在原数组中的相对顺序与原数组一致。若这两个子序列都严格单调递增,则称这对子序列满足条件。

现给出 q 组查询,每组查询给出一个区间 [l,r])(基于数组 a 的下标),请判断区间 a[l \dots r] 内是否存在满足条件的两组非空子序列。

如果存在,输出 YES,否则输出 NO

还以为是简单的最长上升子序列呢(其实也算是?),结果发现无法做

线段树,用到结论:一个序列可以被划分成 k 个严格单调递增子序列,当且仅当它不包含长度为 k+1 的严格单调递减子序列。(Dilworth定理?)

一个序列可以被划分成两个严格单调递增子序列,当且仅当它不包含长度为 3 的严格单调递减子序列。

---> 判断给定的子区间 a[l...r] 是否包含一个长度为3的严格单调递减子序列

很久没写题了,已经成残废了

#笔试##美团#
全部评论
草了,第一题没看到每次只能走0/1,想了半天去做第三题去了
3 回复 分享
发布于 05-11 01:24 广东
第三题想到Dilworth了,手敲线段树没敲出来服了
2 回复 分享
发布于 05-11 20:18 天津
为什么我的美团笔试是两道核心代码简单题
点赞 回复 分享
发布于 05-20 21:42 陕西
我尼玛,7年经验的老司机,怎么也不会做
1 回复 分享
发布于 05-12 22:09 上海
佬 第三道是把子段恰好分成两个子序列还是任意两个
点赞 回复 分享
发布于 05-12 15:50 广东
第一题100%,第二题60%,第三题给自己暴力了
1 回复 分享
发布于 05-11 17:31 湖北
礼问佬刷了多少lc了
1 回复 分享
发布于 05-11 16:26 广东
第二题,我的做法很奇怪,是发现如果是有下去再上来,有个山谷,那么就能-2,不然就只能-1
1 回复 分享
发布于 05-10 23:29 广东
我真服了,第一题方法思路一摸一样,无论无何我都只能过9.几几的样例。
点赞 回复 分享
发布于 05-11 15:14 美国
我测试的题目也是大模型,但我是40,60。后面两道编程题一样,完全没思路最后直接输出结果结果一个用例都没跑通
点赞 回复 分享
发布于 05-11 14:57 湖南
我第一道题都没想到它到了目的地之后可以原地tp
点赞 回复 分享
发布于 05-11 10:43 重庆
29都没收到笔试,是不是已经寄了,10号好像是最后一次
点赞 回复 分享
发布于 05-11 10:06 四川
今天的美团听说很难,你是拿捏还是受害者
点赞 回复 分享
发布于 05-10 23:10 广东

相关推荐

一、选择题:略。二、编程题:(1)&nbsp;给定一个数字n(n&nbsp;&lt;=&nbsp;5e6),求有多少美丽数x&nbsp;&lt;=&nbsp;n,&nbsp;美丽数x的定义是:是一个正整数且存在一个质数p,使得x&nbsp;%&nbsp;p&nbsp;=&nbsp;0且x&nbsp;&lt;=&nbsp;p&nbsp;*&nbsp;p。先用线性筛筛一遍素数,然后枚举每一个质数的倍数(时间复杂度是一个调和级数,约为log),时间复杂度O(N&nbsp;+&nbsp;n&nbsp;loglog(n))。(2)&nbsp;给定一个长度为n的且只有小写字母构成的字符串s,可以选择两个不同的索引x,&nbsp;y,&nbsp;&nbsp;交换s[x]&nbsp;和&nbsp;s[y],问恰好一次操作使得s[0]&nbsp;&lt;=&nbsp;s[1]&nbsp;&lt;=&nbsp;...&nbsp;&lt;=&nbsp;s[n&nbsp;-&nbsp;1]可不可以,可以输出YES,&nbsp;&nbsp;不可以输出NO,多组测试数据,长度和不超过1e5。预处理每个位置往前最多有序多少位,记为dp[i],&nbsp;举个例子,如果dp[i]=2,&nbsp;s[i]&gt;=s[i-1]。预处理前缀的索引最小值mx[26],每次记录每种字母s[i]-'a'的索引最小值。枚举s,对于每个位置,枚举s[i]-'a'+1到25中的最小值,为什么是最左边的值,因为如果交换的不是最左边,那么左边还存在比它大的,肯定不行,因为操作恰好一次,最优方案一定是最左边的那个比它大的字符。假设找到了这个索引是l,&nbsp;那么就是l和i交换,判断:dp[l&nbsp;-&nbsp;1]&nbsp;==&nbsp;l;dp[r-1]&nbsp;&gt;=&nbsp;len(l+1,r-1);dp[n]&gt;=len(r+1,n),此时交换完是i,&nbsp;l,&nbsp;要满足s[i]&gt;=s[l-1],&nbsp;s[i]&lt;=s[l+1],&nbsp;s[l]&gt;=s[i-1],&nbsp;s[l]&lt;=s[i+1]。注意一下边界,如果一开始就是有序的,看有没有相等的,有就是YES。
投递美团等公司6个岗位 笔试 面试之前应该如何准备?
点赞 评论 收藏
分享
评论
6
13
分享

创作者周榜

更多
牛客网
牛客企业服务