题目
公司用一个字符串来表示员工的出勤信息
- absent:缺勤
- ate:迟到
- eaveearly:早退
- present:正常上班
现需根据员工出勤信息,判断本次是否能获得出勤奖,能获得出勤奖的条件如下:
1、缺勤不超过一次;
2、没有连续的迟到/早退;
3、任意连续7次考勤,缺勤/迟到/早退不超过3次。
输入描述
用户的考勤数据字符串
- 记录条数 >= 1;
- 输入字符串长度 < 10000;
- 不存在非法输入;
如:
2
present
present absent present present leaveearly present absent
输出描述
根据考勤数据字符串,如果能得到考勤奖,输出”true”;否则输出”false”,
对于输入示例的结果应为:
true false
解题思路
将员工的考勤数据字符串拆分为单个记录,然后依次检查每个记录。首先统计缺勤次数,如果超过一次则直接返回 false。接着检查是否有连续的迟到或早退,如果存在则返回 false。同时,滑动窗口检查每个连续的7天考勤记录,如果缺勤、迟到或早退的次数超过3次,则返回 false。最终,如果所有条件

订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



