美团算法题真题(技术类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

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

相关推荐

点赞 评论 收藏
分享
7 35 评论
分享
牛客网
牛客企业服务