美团算法题真题(技术类9)

前言:

据我了解,美团笔试的算法题是比较简单的,大家要查漏补缺,尽量全部做出来,不然可能很难拿到面试(如果题目简单的话)。

序列问题

时间限制: 2000/1000 MS (Java/Others)

内存限制: 65536/65536 K (Java/Others)

问题描述

小美有一个长度为n的序列A,她定义序列中第i个数的prev[i]值为前i-1个数中比A[i]小的最大的值,即(j<i且a[j]<a[i]中最大的a[j]),若不存在这样的数,则prev[i]的值为0。现在她想要你帮忙计算对于所有的i,prev[i]i之和是多少,即Σiprev[i]。

输入描述

第一行是一个整数n表示序列的长度。

接下来一行n个数用空格隔开,第i个数表示A[i]的大小。

输出描述

一行一个整数,表示答案。

输入样例1

5

1 6 3 3 8

输出样例1

39

数据范围和说明

30%的数据保证 n<=20,1<=A[i]<=100。

60%的数据保证 n<=1000,1<=A[i]<=1000。

100%的数据保证 n<=100000,1<=A[i]<=100000。

找数

时间限制: 2000/1000 MS (Java/Others)

内存限制: 65536/65536 K (Java/Others)

问题描述

小美和小团在玩游戏。小美将会给出n个大小在1到n之间的整数,然后小美会再告诉小团一个整数k,小团需要找到一个最小的整数x满足以下条件:

l 整数x的大小在1到n之间

l 在小美给出的n个整数中,恰好有k个数比x小

输入描述

第一行是一个数T,表示有T组数据。

对于每组数据:

第一行有两个整数n和k,分别表示小美将会给出n个数以及她给出的整数k。

接下来一行有n个用空格隔开的正整数,表示小美给出的n个正整数。

输出描述

对于每组数据:

如果存在满足要求的数x,第一行先输出“YES”(不含引号),第二行输出数x的值。

如果不存在满足要求的数x,输出“NO”(不含引号)。

输入样例1

2

6 6

1 6 6 2 1 3

6 3

1 6 5 2 2 5

输出样例1

NO

YES

3

数据范围和说明

30%的数据保证 n<=10, 0<=k<=n, T<=10

60%的数据保证 n<=1000, 0<=k<=n, T<=10

100%的数据保证 n<=100000, 0<=k<=n, T<=10

#美团##美团笔试##笔试##算法#
全部评论
Python1e18
点赞 回复 分享
发布于 2023-03-25 20:41 浙江
第一题单调栈,第二题二分?
点赞 回复 分享
发布于 2023-03-01 10:35 广东
美团内推码LW299CZ
点赞 回复 分享
发布于 2023-02-28 09:09 安徽

相关推荐

当年还在美团那个倒霉的&nbsp;Peppr&nbsp;团队工作时,我一直有个疑问:这群人每天到底在自嗨什么。每次开会一堆人围着一堆“看起来很高级”的文档转,模板统一、名词复杂、页数感人,每一页都在暗示一件事:“你不懂,是因为你不专业。”但现实是——代码照样写在&nbsp;💩&nbsp;山上,该出问题还是会出问题,这真的很逗,系统一出问题,文档的唯一作用就是证明:“我们当初确实认真写过文档。”所以本质区别到底是什么?是代码质量提升了,还是大家在精神层面完成了一次“工程师&nbsp;cosplay”?有句话说得好潮水退去才知道谁在裸泳。还记得当时的马哥、明哥(图&nbsp;1&nbsp;左)最爱反复强调一句话:“所有场景一定要想到。”、“这个场景为什么没考虑到?”不过他们这些话我是真的听进去了。不然我也不会在一年多前就说:这个项目活不过两年。顺带一提,那段时间还有个固定节目。每次下楼,总能听见我明哥在吐槽不同的人。我从他身后绕过去,经常能听到他一边抽烟一边说:“xx&nbsp;这小子太坑了,回头我一定要跟马哥说说。”于是深谙人情世故但真不会抽烟的我也会从口袋掏出一支低尼古丁含量的烟给自己点上,假意自己什么都没听到什么都不知道,只是来抽烟的。后来我才明白,这可能也是团队文化的一部分:问题永远在别人身上,而我们,永远在复盘里😂。
秋招白月光
点赞 评论 收藏
分享
评论
7
35
分享

创作者周榜

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