首页 > 8月19日华为笔试题
头像
当可乐遇上曼妥思🍃
编辑于 2020-08-20 11:29
+ 关注

8月19日华为笔试题

8月19日华为笔试题(回忆,意思应该差不多,可能个人表述会有点不清。。。)

第一题

给你N行M列的人,他们是一个方阵。左上角是(0,0),右下角是(n-1, m-1),最外圈的人顺时针报数,当他们报的数个位是7并且十位是奇数,就选出来。外圈报完了内圈接着报,一直到所有人都报完,问最后选出来的是哪些。

要求是10<=n,m<=1000,如果输入不合法,那么就是返回空数组

输入

10 10

输出

[[7,9],[1,1],[8,2],[7,5],[4,4]]

第二题

给你N个节点,然后输入他们所在的高度,问最后的二叉树可以有几种,结果可能很大,对 取模

0<N<=1000,每个节点的所在高度小于N,大于等于0

输入

4 
1 0 2 2

输出

2

hint

        x
      /
    x
  /   \
 x     x

或者

 x
   \
    x
  /   \
 x     x

第三题

现在有一个已经落下来了一些的俄罗斯方块,我们用一个字符串表示,分别代表每个位置上已经落了多少块了。比如2202,就是下图

现在,有一个新的俄罗斯方块要掉下来,它的描述也是类似的,

例如121,就是下图

掉下来的块,一定保证是上底对齐的,并且不会出现下图这种情况

然后众所周知,落下来以后,如果一行没有间断的话,那么这一行就能消掉了,上面的那些就会往下落。

掉下来的块不能旋转,可以左右平移,但不能超出边界,让你最后没有被消除的行数尽可能小,问你这个值是多大。

输入

2202
2

输出

0

hint

如果你不把2放在原本的0处的话,那么现在的未消行数就是4

全部评论

(9) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐