題:給定乙個字串來代表學生的出勤記錄,其中三個字元:'a' : absent,缺勤 ,'l' : late,遲到,'p' : present,到場。如果乙個出勤記錄中不超過乙個'a'(缺勤)並且不超過兩個連續的'l'(遲到),那麼這個學生會被獎賞。例如:輸入: "ppallp" ,輸出: true 輸入為:"ppalll" ,輸出: false。
法:統計字元a出現次數和字元l的連續出現次數。字元a比較簡單,次數用cnt1表示,出現一次就直接cnt1+=1,如果cnt1>=2,直接return fasle跳出迴圈。字元l的連續出現次數用cnt2表示,本來我寫的還比較複雜,考慮如果已經連續出現兩次l,判斷它下乙個字元是不是l之類的。但後來參考了網上別的解法,發現如果當前字元為l,就使cnt2+=1,如果為a或p,就直接使cnt2=0,破壞l的記錄連續性。
def checkrecord(self, s):
""":type s: str
:rtype: bool
"""cnt1,cnt2=0,0
for x in s:
if x =='a':
cnt1+=1
cnt2=0
if cnt1>=2:return false
elif x=='l':
cnt2+=1
if cnt2>=3:return false
else:cnt2=0
return true
551 學生出勤記錄I
給定乙個字串來代表乙個學生的出勤記錄,這個記錄僅包含以下三個字元 a absent,缺勤 l late,遲到 p present,到場 如果乙個學生的出勤記錄中不超過乙個 a 缺勤 並且不超過兩個連續的 l 遲到 那麼這個學生會被獎賞。你需要根據這個學生的出勤記錄判斷他是否會被獎賞。示例 1 輸入 ...
551 學生出勤記錄 I(簡單)
給定乙個字串來代表乙個學生的出勤記錄,這個記錄僅包含以下三個字元 a absent,缺勤 l late,遲到 p present,到場 如果乙個學生的出勤記錄中不超過乙個 a 缺勤 並且不超過兩個連續的 l 遲到 那麼這個學生會被獎賞。class solution def checkrecord s...
LeetCode 551 學生出勤記錄 I
給定乙個字串來代表乙個學生的出勤記錄,這個記錄僅包含以下三個字元 a absent,缺勤 l late,遲到 p present,到場 如果乙個學生的出勤記錄中不超過乙個 a 缺勤 並且不超過兩個連續的 l 遲到 那麼這個學生會被獎賞。你需要根據這個學生的出勤記錄判斷他是否會被獎賞。示例 1 輸入 ...