【备战春招必看】美团2025届春招第6套笔试解析 | 大厂真题通关指南

✅ 春招备战指南 ✅

💡 学习建议:

  • 先尝试独立解题(建议用时:90分钟/套)
  • 对照解析查漏补缺
  • 配套练习题库

互联网必备刷题宝典🔗

📢 美团技术岗笔试重要信息速览

⏰ 笔试时间安排

  • 常规场次:每周六交替进行
    • 上午场 10:00~11:30
    • 晚间场 19:00~20:30
  • 通知时间:每周四/五通过邮箱发送考试链接

🧩 笔试题型分布

岗位类型 题目构成
算法岗 选择题 + 5道编程
后端开发岗 选择题 + 3道编程
前端/测试岗 选择题 + 2道编程

⚙️ 考试设置要点

  • 考试平台:牛客网(ACM模式)
  • 监考要求
    • 必须开启笔记本前置摄像头
    • 禁止使用手机(需小程序锁定)
    • 允许使用本地IDE
  • 编程规范
    • 严格遵循输入输出格式
    • 注意时间复杂度控制(通常1s对应1e8次运算)

📚 笔试经验贴

(所有展示题面均已进行改编处理,保留核心考点)

本题库收录整理自:

  1. 互联网公开的笔试真题回忆版(经网友投稿)
  2. 各大技术社区公开讨论的经典题型
  3. 历年校招考生提供的解题思路

🔍 题库特点:

  • 100%真实笔试场景还原
  • 包含高频考点题型
  • 提供多语言实现参考
  • 持续更新2024届最新真题

⚠️ 注意事项:

  1. 所有题目均来自公开渠道,已进行改编脱敏处理
  2. 实际笔试可能出现题型变化,请以官方通知为准

🚀 春招备战指南

金三银四求职季即将到来!这里整理了最新美团真题及解析,助你快速掌握笔试套路。建议重点突破以下题型:

  1. 数组/字符串操作
  2. 树形结构应用
  3. 贪心/动态规划
  4. 区间合并问题

(👇 下附最新笔试真题及详细解析 👇)

真题详解(改编版)

第一题:好矩阵

题目内容

小基定义一个矩阵是"好矩阵",当且仅当该矩阵所有元素都相同。现在小基拿到了一个矩阵,她想知道该矩阵有多少个 的子矩阵是好矩阵?

输入描述

第一行输入两个正整数 ,代表矩阵的行数和列数。 接下来的 行,每行输入 个正整数 ,代表小基拿到的矩阵。

输出描述

好子矩阵的数量。

样例1

输入:

3 3
1 2 1
1 1 1
1 1 3

输出:

1

说明:只有左下角一个好子矩阵。

题解

这是一道简单的模拟题。只需要枚举每个可能的 子矩阵的左上角位置,然后判断这个子矩阵的四个元素是否相等即可。

时间复杂度: 空间复杂度:

三语言参考代码

  • C++
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    vector<vector<int>> g(n, vector<int>(m));
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cin >> g[i][j];
        }
    }
    int ans = 0;
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < m - 1; j++) {
            if (g[i][j] == g[i + 1][j] && g[i + 1][j] == g[i][j + 1] && g[i][j + 1] == g[i + 1][j + 1]) {
                ans++;
            }
        }
    }
    cout << ans << endl;
    return 0;
}
  • Python
n, m = map(int, input().split())
g = [list(map(int, input().split())) for _ in range(n)]
ans = 0
for i in range(n - 1):
    for j in range(m - 1):
        if g[i][j] == g[i + 1][j] and g[i + 1][j] == g[i][j + 1] and g[i][j + 1] == g[i + 1][j + 1]:
            ans += 1
print(ans)
  • Java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int[][] g = new int[n][m];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                g[i][j] = scanner.nextInt();
            }
        }
        int ans = 0;
        for (int i = 0; i < n - 1; i++) {
            for (int j = 0; j < m - 1; j++) {
                if (g[i][j] == g[i + 1][j] && g[i + 1][j] == g[i][j + 1] && g[i][j + 1] == g[i + 1][j + 1]) {
                    ans++;
                }
            }
        }
        System.out.println(ans);
        scanner.close();
    }
}

第二题:最多零的数组

题目内容

小基拿到了一个数组,她可以进行最多 次操作,每次操作任选一个元素加 1 或者减 1。小基希望最终 0 的数量尽可能多。你能帮帮她吗?

输入描述

第一行输入 2 个正整数 ,代表数组大小和小基的操作次数。 第二行输入 个整数 ,代表小基拿到的数组。

输出描述

一个整数,代表最终 0 的数量的最大值。

样例1

输入:

4 5
-2 3 -2 9

输出:

2

说明:对第二个元素操作 3 次减 1,对第三个元素操作 2 次加 1,这样数组变成 [-2,0,0,9]。

题解

这道题的关键是贪心思想。对于每个数,将其变成 0 需要的操作次数就是其绝对值。因此,应该优先选择绝对值小的数进行操作。

时间复杂度: 空间复杂度:

三语言参考代码

  • C++
#include<bits/stdc++.h>
using namespace std;
const int N = 1E5 + 10;
typedef long long ll;
ll a[N], n, k;

int main() {
    cin >> n >> k;
    for(int i = 0; i < n; i++) {
        cin >> a[i];
        a[i] = abs(a[i]);
    }
    sort(a, a + n);
    int cnt = 0;
    for(int i = 0; i < n; i++) {
        if(k < a[i]) break;
        k -= a[i];
        cnt++;
    }
    cout << cnt << endl;
    return 0;
}
  • Python
n, k = map(int, input().split())
nums = list(map(int, input().split()))
nums = sorted(map(abs, nums))
count = 0
for num in nums:
    if k >= num:
        k -= num
        count += 1
    else:
        break
print(count)
  • Java
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        long n = in.nextLong(), k = in.nextLong();
        Long[] arr = new Long[(int)n];
        for(int i = 0; i < n; i++) arr[i] = in.nextLong();
        Arrays.sort(arr, (Long a, Long b) -> Long.compare(Math.abs(a), Math.abs(b)));
        int res = 0;
        for(int i = 0; i < n; i++) {
            if(k >= Math.abs(arr[i])) {
                k -= Math.abs(arr[i]);
                res++;
            }
            else break;
        }
        System.out.println(res);
    }
}

第三题:红黑树

题目内容

小基有一棵有 个节点的树,根节点为 1 号节点,树的每个节点是红色或者黑色,她想知道有多少节点的子树中同时包含红点和黑点。

输入描述

第一行输入一个整数 表示节点数量。 第二行输入一个长度为 的字符串 表示节点的颜色,第 个节点的颜色为 ,若 为'B'表示节点的颜色为黑色,若 为'R'则表示节点的颜色为红色。 接下来 行,每行输入两个整数 表示树上的边。

输出描述

输出一个整数表示答案。

样例1

输入:

3
BRB
1 2
2 3

输出:

2

题解

这是一道树形 DFS 问题。对于每个节点,需要统计其子树中红色和黑色节点的数量。如果两种颜色的节点数量都大于 0,则这个子树满足条件。

时间复杂度: 空间复杂度:

三语言参考代码

  • C++
#include<bits/stdc++.h>
using namespace std;
const int N = 1E5 + 10;
int n, res;
string s;
vector<int> g[N];

vector<int> dfs(int u, int fa) {
    vector<int> color(2, 0);
    if(s[u] == 'B') color[0]++;
    else color[1]++;
    for(int &x : g[u]) {
        if(x == fa) continue;
        auto v = dfs(x, u);
        color[0] += v[0];
        color[1] += v[1];
    }
    if(color[0] > 0 && color[1] > 0) res++;
    return color;
}

int main() {
    cin >> n >> s;
    s = " " + s;
    for(int i = 1; i < n; i++) {
        int a, b;
        cin >> a >> b;
        g[a].push_back(b);
        g[b].push_back(a);
    }
    dfs(1, 0);
    cout << res << endl;
    return 0;
}
  • Python
import sys
sys.setrecursionlimit(200000)

n = int(input())
color = input()
adj = [[] for _ in range(n)]
for _ in range(n-1):
    u, v = map(int, input().split())
    adj[u-1].append(v-1)

count = 0

def dfs(i):
    global count
    if len(adj[i]) == 0:
        return False
    flag = False
    for j in adj[i]:
        if dfs(j):
            flag = True
        else:
            if color[i] != color[j]:
                flag = True
    if flag:
        count += 1
    return flag

dfs(0)
print(count)
  • Java
import java.util.*;
import java.io.*;

class Main {
    static int n;
    static Node[] nodes;
    static int res = 0;

    static int dfs(int nodeIndex, HashMap<Integer,Integer> visited) {
        visited.put(nodeIndex, 0);
        Node node = nodes[nodeIndex];
        boolean red = node.color == 'R';
        boolean black = node.color == 'B';
        
        for(int i : node.children.keySet()) {
            if(visited.get(i) != null) continue;
            int num = dfs(i, visited);
            if(num == 0) black = true;
            else if(num == 1) red = true;
            else {
                black = true;
                red = true;
            }
        }
        
        if(red && black) {
            res++;
            return 2;
        }
        return red ? 1 : 

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

互联网刷题笔试宝典 文章被收录于专栏

互联网刷题笔试宝典,这里涵盖了市面上大部分的笔试题合集,希望助大家春秋招一臂之力

全部评论
春招备战必备
点赞 回复 分享
发布于 02-25 11:13 浙江
世另我
点赞 回复 分享
发布于 02-25 11:13 浙江
接好运
点赞 回复 分享
发布于 02-25 11:13 浙江
笔试专栏值得订阅
点赞 回复 分享
发布于 01-21 18:47 浙江

相关推荐

避坑恶心到我了大家好,今天我想跟大家聊聊我在成都千子成智能科技有限公司(以下简称千子成)的求职经历,希望能给大家一些参考。千子成的母公司是“同创主悦”,主要经营各种产品,比如菜刀、POS机、电话卡等等。听起来是不是有点像地推销售公司?没错,就是那种类型的公司。我当时刚毕业,急需一份临时工作,所以在BOSS上看到了千子成的招聘信息。他们承诺无责底薪5000元,还包住宿,这吸引了我。面试的时候,HR也说了同样的话,感觉挺靠谱的。于是,我满怀期待地等待结果。结果出来后,我通过了面试,第二天就收到了试岗通知。试岗的内容就是地推销售,公司划定一个区域,然后你就得见人就问,问店铺、问路人,一直问到他们有意向为止。如果他们有兴趣,你就得摇同事帮忙推动,促进成交。说说一天的工作安排吧。工作时间是从早上8:30到晚上18:30。早上7点有人叫你起床,收拾后去公司,然后唱歌跳舞(销售公司都这样),7:55早课(类似宣誓),8:05同事间联系销售话术,8:15分享销售技巧,8:30经理训话。9:20左右从公司下市场,公交、地铁、自行车自费。到了市场大概10点左右,开始地推工作。中午吃饭时间大约是12:00,公司附近的路边盖饭面馆店自费AA,吃饭时间大约40分钟左右。吃完饭后继续地推工作,没有所谓的固定中午午休时间。下午6点下班后返回公司,不能直接下班,需要与同事交流话术,经理讲话洗脑。正常情况下9点下班。整个上班的一天中,早上到公司就是站着的,到晚上下班前都是站着。每天步数2万步以上。公司员工没有自己的工位,百来号人挤在一个20平方米的空间里听经理洗脑。白天就在市场上奔波,公司的投入成本几乎只有租金和工资,没有中央空调。早上2小时,晚上加班2小时,纯蒸桑拿。没有任何福利,节假日也没有3倍工资之类的。偶尔会有冲的酸梅汤和西瓜什么的。公司的晋升路径也很有意思:新人—组长—领队—主管—副经理—经理。要求是业绩和团队人数,类似传销模式,把人留下来。新人不能加微信、不能吐槽公司、不能有负面情绪、不能谈恋爱、不能说累。在公司没有任何坐的地方,不能依墙而坐。早上吃早饭在公司外面的安全通道,未到上班时间还会让你吃快些不能磨蹭。总之就是想榨干你。复试的时候,带你的师傅会给你营造一个钱多事少离家近的工作氛围,吹嘘工资有多高、还能吹自己毕业于好大学。然后让你早点来公司、无偿加班、抓住你可能不会走的心思进一步压榨你。总之,大家在找工作的时候一定要擦亮眼睛,避免踩坑!———来自网友
qq乃乃好喝到咩噗茶:不要做没有专业门槛的工作
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

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