551. 学生出勤记录
551. 学生出勤记录 I
给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符:
‘A’:Absent,缺勤
‘L’:Late,迟到
‘P’:Present,到场
如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励:
按 总出勤 计,学生缺勤(‘A’)严格 少于两天。
学生 不会 存在 连续 3 天或 3 天以上的迟到(‘L’)记录。
如果学生可以获得出勤奖励,返回 true ;否则,返回 false 。
输入:s = “PPALLP”
输出:true
解释:学生缺勤次数少于 2 次,且不存在 3 天或以上的连续迟到记录。
示例 2:
输入:s = “PPALLL”
输出:false
解释:学生最后三天连续迟到,所以不满足出勤奖励的条件。
1 <= s.length <= 1000
s[i] 为 ‘A’、‘L’ 或 ‘P’
解题思路
- L:变量代表连续迟到的天数
- A:代表缺勤的总天数
最后根据A和L的按照出勤奖励的条件:
- 按 总出勤 计,学生缺勤(‘A’)严格 少于两天。
- 学生 不会 存在 连续 3 天或 3 天以上的迟到(‘L’)记录。
如果在更新缺勤次数和连续迟到次数之后,出现缺勤次数大于或等于 2 或者连续迟到次数大于或等于 3,则该出勤记录不满足可奖励的要求,返回false。如果遍历结束时未出现出勤记录不满足可奖励的要求的情况,则返回 true。
代码
class Solution {public boolean checkRecord(String s) {int A=0,L=0;for (int i = 0; i < s.length(); i++) {if (s.charAt(i)=='A'){if (++A==2)return false;}else if (s.charAt(i)=='L'){if (++L>=3)return false;continue;}L=0;}return true;}
}
- 时间复杂度:O(n),其中 n 是字符串 s 的长度。需要遍历字符串 s 一次。
- 空间复杂度:O(1)。
551. 学生出勤记录相关推荐
- 551. 学生出勤记录 I
链接:551. 学生出勤记录 I 题解: class Solution { public:bool checkRecord(string s) {std::unordered_map<char, ...
- 力扣 -- 551. 学生出勤记录 I 、 552. 学生出勤记录 II
目录 551. 学生出勤记录 一 .题目描述 二. 实现思路以及代码 552. 学生出勤记录 II 一 .题目描述 二. 实现思路以及代码 551. 学生出勤记录 一 .题目描述 给你一个字符串 s ...
- Java实现 LeetCode 551 学生出勤记录 I(暴力大法好)
551. 学生出勤记录 I 给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个 ...
- C++Python描述 LeetCode 551. 学生出勤记录 I
C++&Python描述 LeetCode 551. 学生出勤记录 I 大家好,我是亓官劼(qí guān jié ),在公众号.CSDN.GitHub.B站.华为开发者论坛等平台分享一些 ...
- LeetCode 551. 学生出勤记录 I
1. 题目 给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学生的出勤记录中 ...
- 551.学生出勤记录 I(简单)
给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学生的出勤记录中不超过一个' ...
- 【leetcode】551. 学生出勤记录 I(student-attendance-record-i)(模拟)[简单]
链接 https://leetcode-cn.com/problems/student-attendance-record-i/ 耗时 解题:8 min 题解:5 min 题意 给你一个字符串 s 表 ...
- 551.学生出勤记录1
给你一个字符串s中表示一个学生的出勤记录,其中的每个字符用来标记每天的出勤情况(缺勤,迟到,到场).记录中只含下面三种字符: 1.'A':Absent,缺勤 2.'L':Late,迟到 3.'p'Pr ...
- leetcode 551. 学生出勤记录 I(Java版)
题目 https://leetcode-cn.com/problems/student-attendance-record-i/ 题解 public class Solution {public bo ...
最新文章
- Error: Aesthetics must be either length 1 or the same as the data (5): fill
- C#对Excel的一些操作【一】
- DNS原理及其解析过程(转)
- rt-thread 自动初始化机制分析-关于编译链接及段信息
- 如何制作linux系统硬盘,教你制作Linux操作系统的Boot/Root盘
- 软件工程——结对编程第一次作业
- python长整数相乘_python写的大整数相乘的方法
- c程序编写x的y次方的方法
- JAVA进阶教学之(StringBuider进行字符串拼接)
- 写得蛮好的linux学习笔记五-认识SHELL(收藏)
- Fc冒险岛JAVA源码_FC冒险岛金手指
- 3dmax、python3、Rational Rose、DTLite、commons-math3、VM12、DreamWeaver、SPSS、sqlserver2008、mySQL等软件安装包最全集合
- Python常用模块 之 re模块
- Android 阿里云镜像谷歌仓库
- HDU 6319 Ascending Rating(单调队列)
- [JPA错误]javax.persistence.EntityNotFoundException: Unable to find xxx
- java开发微信公众号,公众号与java后台获取连接,自动回复,关注获取用户信息,取消关注删除用户信息
- 学习篇之华为快应用的开发(一)
- 时间片轮转算法的实现
- java内部类写法_Java匿名内部类的写法示例