美文网首页
[刷题防痴呆] 0551 - 学生出勤记录 I (Student

[刷题防痴呆] 0551 - 学生出勤记录 I (Student

作者: 西出玉门东望长安 | 来源:发表于2021-10-10 04:17 被阅读0次

题目地址

https://leetcode.com/problems/student-attendance-record-i/

题目描述

551. Student Attendance Record I

You are given a string s representing an attendance record for a student where each character signifies whether the student was absent, late, or present on that day. The record only contains the following three characters:

'A': Absent.
'L': Late.
'P': Present.
The student is eligible for an attendance award if they meet both of the following criteria:

The student was absent ('A') for strictly fewer than 2 days total.
The student was never late ('L') for 3 or more consecutive days.
Return true if the student is eligible for an attendance award, or false otherwise.

 

Example 1:

Input: s = "PPALLP"
Output: true
Explanation: The student has fewer than 2 absences and was never late 3 or more consecutive days.
Example 2:

Input: s = "PPALLL"
Output: false
Explanation: The student was late 3 consecutive days in the last 3 days, so is not eligible for the award.

思路

  • for循环. 模拟.
  • 对A和L字符计数.

关键点

代码

  • 语言支持:Java
class Solution {
    public boolean checkRecord(String s) {
        char[] sc = s.toCharArray();
        int late_count = 0;
        int absend_count = 0;
        for (int i = 0; i < sc.length; i++) {
            if (sc[i] == 'A') {
                absend_count++;
                late_count = 0;
                if (absend_count >= 2) {
                    return false;
                } 
            } else if (sc[i] == 'L') {
                late_count++;
                if (late_count >= 3) {
                    return false;
                }
            } else {
                late_count = 0;
            }
        }

        return true;
    }
}

相关文章

网友评论

      本文标题:[刷题防痴呆] 0551 - 学生出勤记录 I (Student

      本文链接:https://www.haomeiwen.com/subject/iaawnltx.html