LeetCode每日一題: 學生出勤記錄 I(No.551)
摘要:
給定一個字串來代表一個學生的出勤記錄,這個記錄僅包含以下三個字元:
'A' : Absent,缺勤
'L' : Late,遲到
'P' : Present,到場
如果一個學生的出勤記錄中不超過一個'A'(缺勤)並且不超過兩個連續的...
給定一個字串來代表一個學生的出勤記錄,這個記錄僅包含以下三個字元: 'A' : Absent,缺勤 'L' : Late,遲到 'P' : Present,到場 如果一個學生的出勤記錄中不超過一個'A'(缺勤)並且不超過兩個連續的'L'(遲到),那麼這個學生會被獎賞。 你需要根據這個學生的出勤記錄判斷他是否會被獎賞。 複製程式碼
示例:
輸入: "PPALLP" 輸出: True 輸入: "PPALLL" 輸出: False 複製程式碼
思考:
迴圈遍歷字串s,用一個aCount記錄A出現次數大於1次返回false,迴圈判斷是否又連續三個L出現,有返回false。 複製程式碼
實現:
class Solution { public boolean checkRecord(String s) { int aCount = 0; for (int count = 0; count < s.length(); count++) { if (s.charAt(count) == 'A' && ++aCount > 1) { return false; } if (count < s.length() - 2 && s.charAt(count) == 'L' && s.charAt(count + 1) == 'L'&& s.charAt(count + 2) == 'L') { return false; } } return true; } }複製程式碼