題目:學生出勤記錄 I
給定一個字串來代表一個學生的出勤記錄,這個記錄僅包含以下三個字元:
'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;
}
}複製程式碼