LeetCode 551——學生出勤記錄I
阿新 • • 發佈:2021-02-14
技術標籤:LeetCode刷題
一、題目介紹
給定一個字串來代表一個學生的出勤記錄,這個記錄僅包含以下三個字元:
'A' : Absent,缺勤
'L' : Late,遲到
'P' : Present,到場
如果一個學生的出勤記錄中不超過一個'A'(缺勤)並且不超過兩個連續的'L'(遲到),那麼這個學生會被獎賞。
你需要根據這個學生的出勤記錄判斷他是否會被獎賞。
示例 1:
輸入: "PPALLP"
輸出: True
示例 2:
輸入: "PPALLL"
輸出: False
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/student-attendance-record-i
二、解題思路
本題只需按照要求,對特殊的情況進行特別處理即可,詳見程式碼。
三、解題程式碼
class Solution { public: bool checkRecord(string s) { int ATimes = 0; int LTimes = 0; int n = s.size(); for(int i = 0; i < n; ++i) { if(s[i] == 'A') { ATimes++; if(ATimes > 1) return false; LTimes = 0; } else if(s[i] == 'L') { LTimes++; if(LTimes == 3) return false; } else LTimes = 0; } return true; } };