1. 题目原址
https://leetcode.com/problems/student-attendance-record-i/
2. 题目描述

3. 题目大意
给定一个字符串,包含三类字母:A、L、P,如果超过2个A或者连续有三个以上的L出现,那么就返回false,否则返回true
4. 解题思路
使用两个变量来记录L和A字符出现的次数,如果超过给定的次数就返回false。
5. AC代码
class Solution {
public boolean checkRecord(String s) {
int length = s.length();
int l = 0, a = 0;
for(int i = 0; i < length; i++) {
if(s.charAt(i) == 'L') { // 需要连续三个L,才能返回false
l++;
if (l == 3)
return false;
}
else{ // 如果是不连续的,则将L的频率计数置为0
l = 0;
}
if(s.charAt(i) == 'A') { // 如果有两个A存在,才能返回false
a ++;
if(a == 2)
return false;
}
}
return true;
}
}
6. 相似题目
【1】 552. Student Attendance Record II 题目原址:https://leetcode.com/problems/student-attendance-record-ii/
博客围绕LeetCode题目“学生出勤记录I”展开,题目给定含A、L、P的字符串,若A超2个或连续3个以上L出现则返回false,否则返回true。解题思路是用两个变量记录L和A出现次数,超给定次数返回false,还给出相似题目。
1009

被折叠的 条评论
为什么被折叠?



