0%

美团笔试4月13日

题目分配

5 道编程题。

作答时间

120 分钟

做题感受

  • 第一题简单模拟

    给你一个矩阵,返回所有元素都相同的 2 * 2 的子矩阵的个数。

  • 第二题排序

    给你一个数组,每次操作只能将其中一个数字 +1 或者 -1,求 k 次操作后数组中最多能有几个零。

  • 第三题多叉树

    给你 n 个节点,每个节点只能是红色或者黑色,再给你 n-1 条节点的父子关系,求某种节点的个数,该节点的特征是子树中红黑节点都包含。

    1
    2
    3
    4
    5
    6
    7
    样例:
    3
    黑红黑
    1 2
    2 3
    输出:
    2( 1 号节点和 2 号节点都是)

    这题比较坑的地方一是实际上是多叉树而不是二叉树,第二点这是从样例能分析出题目中的子树实际上是包含节点自身的。

  • 第四题情景题

    来表示 ,其中 ,再给你一个数组,该数组是用 块表示的(因为数据很长,需要用这种方式压缩,总长度数量级为 ),即 表示为 ,现在给你 表示数组的第 个数,求该区间的所有数的乘积的因子数量。

    1
    2
    3
    4
    5
    6
    样例:
    原数组为[1,1,2,3,3,3]
    输入为
    (2,1),(1,2),(3,3)
    l=1,r=3
    答案为2,因为原数组中该区间为[1,1,2],乘积为2,而2的的因子只有1和2.

    思路是将 区间中的块找出来,并将所有的块都分解质因数(如 4 分成两个 2)并合并成 ,因为十以内的质数只有
    那么答案就可以是:
    因为对于 个质因子 ,有 共计 种取法,所以所有质因子的组合有 种,而这也正是乘积的因子数。

  • 第五题没看