551.Student Attendace Record I
551.Student Attendance Record I
难度:Easy
给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:
'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。
你需要根据这个学生的出勤记录判断他是否会被奖赏。
1
示例 1:
2
3
输入: "PPALLP"
4
输出: True
5
示例 2:
6
7
输入: "PPALLL"
8
输出: False
Copied!
直接遍历,用两个计数器判断出勤和迟到,需要注意连续三次迟到才返回false。
1
class Solution {
2
public:
3
bool checkRecord(string s) {
4
int a=0;
5
int l=0;
6
for(auto c:s)
7
if(c=='A')
8
{
9
++a;
10
l=0;
11
}
12
else if(c=='L' ) { if( ++l >2) return false;}
13
else l=0;
14
// cout<<a << " "<< l <<endl;
15
return a<2 && l<3;
16
}
17
};
Copied!
执行用时 :0 ms, 在所有 C++ 提交中击败了100%的用户 内存消耗 :8.2MB, 在所有 C++ 提交中击败了93.88%的用户
Copy link