思路:滑动窗口模拟
维护一个长度为7的窗口,并统计其缺勒/迟到/早退次数是否超过3,维护一个变量,统计其缺勤次数,并在所有下标>0的位置判断是否有连续的迟到/早退,如果都没有,则返回true,有任意一点不满足,返回false。写的时候最好写一个判断函数,这样会方便一些。
JavaScript
P3036.考勤信息(100分)
题目描述
公司用一个字符串来表示员工的出勤信息
- absent:缺勒
- late: 迟到
- leaveearly: 早退
- present: 正常上班
现需根据员工出勤信息,判断本次是否能获得出勤奖,能获得出勤奖的条件如下:
- 缺勤不超过一次,
- 没有连续的迟到/早退:
- 任意连续7次考勤,缺勒/迟到/早退不超过3次
输入描述
第一行输入一个整数n,表示有多少个员工
后面n行,每一行输入若干个字符串,表示第i名员工的出勤信息
输出描述
输出n行,每一行表示这名员工能否获得出勤奖,如果可以,则输出“true",否则输出”false"
样例1
输入
2
present
present present
输出
true
true
样例2
输入
2
present
present absent present present leaveearly present absent
输出
true
false