华为OD机试新员工座位安排系统

发布时间 2023-04-07 12:43:03作者: 梦想橡皮擦

本期题目:新员工座位安排系统

题目

工位由序列 F_1​,F_2​...F_n​ 组成, F_i​ 值为 0 、1 或 2 ,其中 0 代表空置,1 代表有人,2 代表障碍物。

  1. 某一空位的友好度为左右连续老员工工数之和
  2. 为方便新员工学习求助,优先安排友好度高的空位; 给出工位序列,求所有空位中友好度的最大值。

输入

第一行为工位序列: F_1​,F_2​...F_n​ 组成,1≤n≤100000 ,F_i​ 值为 0 、1 或 2 ,其中 0 代表空置,1 代表有人,2 代表障碍物。

输出

所有空位中友好度的最大值。如果没有空位,返回 0。

题解地址 ?

华为 OD 机试

刷题技巧 我这里有一个“刷题技巧”,你可以看看,或许可以帮到你: 不要盲目的刷题,凡是讲究策略与技巧,题型是有限的。用自己的方法梳理题型,归纳与总结,就能举一反三、手到擒来。 这个“刷题技巧”,包含了递归、分治、单调栈、并查集、滑动窗口、前缀和、查分、二分查找、 BFS 广搜和 DFS 深搜。 这些题型,都有一些共同点: 递归,都是用一组关键字来实现 BFS 广搜和 DFS 深搜的共同点: 前缀和(前缀法):通过判断值是否相等来判断结果是否为 1。若不相等则返回 1 (否则返回 0)。(也可以通过数组索引的方法) BFS 广搜的共同点:利用数组索引的方法。