题目:
给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符:
‘A’:Absent,缺勤
‘L’:Late,迟到
‘P’:Present,到场
如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励:
按 总出勤 计,学生缺勤(‘A’)严格 少于两天。
学生 不会 存在 连续 3 天或 连续 3 天以上的迟到(‘L’)记录。
如果学生可以获得出勤奖励,返回 true ;否则,返回 false 。

解答:
class Solution:
def checkRecord(self, s: str) -> bool:
count=0
n=len(s)
i=0
while i<n:
c=s[i]
if c=='A':
count+=1
if count>1:
return False
if c=='L':
start,end=i,i
while i+1<n and s[i+1]=='L':
i+=1
end=i
if end-start>1:
return False
i+=1
return True
该博客介绍了一个Python类实现,用于检查学生的出勤记录是否符合获得奖励的条件。条件包括缺勤少于两天且无连续3天以上迟到。类方法通过遍历字符串并计算连续迟到天数来判断学生是否符合条件。

290

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



