题目描述:
工位由序列F1,F2...Fn组成,Fi值为0、1或2。其中0代表空置,1代表有人,2代表障碍物。
1、某一空位的友好度为左右连续老员工数之和
2、为方便新员工学习求助,优先安排友好度高的空位
给出工位序列,求所有空位中友好度的最大值。
输入描述:
第一行为工位序列:F1,F2...Fn组成,1<=n<=100000,Fi值为0、1或2。其中0代表空置,1代码有人,2代表障碍物
其中0代表空置,1代码有人,2代表障碍物。
输出描述:
所有空位中友好度的最大值。如果没有空位,返回0。
补充说明:
示例1
输入:
0 1 0
输出:
1
说明:
第1个位置和第3个位置,友好度均为1
示例2
输入:
1 1 0 1 2 1 0
输出:
3
说明:
第3个位置友好度为3。因障碍物隔断,左边得2分,右边只能得1分。
解题思路:本题考察数组,可以使用哈希表差分解答,使用滑窗可以得到最优解。
#include <iostream>
#include <cstdi