551 學生出勤記錄1 python

2021-09-23 10:14:40 字數 722 閱讀 2016

題:給定乙個字串來代表學生的出勤記錄,其中三個字元:'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 輸入 ...