1. 程式人生 > 其它 >LeetCode 551——學生出勤記錄I

LeetCode 551——學生出勤記錄I

技術標籤: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;
    }
};

四、解題結果