链接

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

耗时

解题:8 min
题解:5 min

题意

给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符:

  • 'A':Absent,缺勤
  • 'L':Late,迟到
  • 'P':Present,到场

如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励:

  • 总出勤 计,学生缺勤('A'严格 少于两天。
  • 学生 不会 存在 连续 3 天或 3 天以上的迟到('L')记录。

如果学生可以获得出勤奖励,返回 true ;否则,返回 false

示例 1:

输入:s = “PPALLP”
输出:true
解释:学生缺勤次数少于 2 次,且不存在 3 天或以上的连续迟到记录。

示例 2:

输入:s = “PPALLL”
输出:false
解释:学生最后三天连续迟到,所以不满足出勤奖励的条件。

提示:

  • 1 <= s.length <= 1000
  • s[i]'A''L''P'

思路

根据题意模拟即可。

遍历一遍字符串,如果存在 ‘A’ 的数量大于等于 2,或者连续的 ‘L’ 的数量大于等于 3,即返回 false。否则遍历完成返回 true。

时间复杂度:O(n)O(n)O(n)

AC代码

class Solution {public:bool checkRecord(string s) {int Acnt = 0;int Lcnt_seq = 0;for(auto c : s) {if(c == 'L') {Lcnt_seq++;}else {Lcnt_seq = 0;if(c == 'A') {Acnt++;}}if(Acnt >= 2 || Lcnt_seq >= 3) {return false;}            }return true;}
};

【leetcode】551. 学生出勤记录 I(student-attendance-record-i)(模拟)[简单]相关推荐

  1. LeetCode——552. 学生出勤记录 II(Student Attendance Record II)[困难]——分析及代码(Java)

    LeetCode--552. 学生出勤记录 II[Student Attendance Record II][困难]--分析及代码[Java] 一.题目 二.分析及代码 1. 动态规划 (1)思路 ( ...

  2. Leetcode每日一题-学生出勤记录 II(Student Attendance Record II)

    可以用字符串表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤.迟到.到场).记录中只含下面三种字符: 'A':Absent,缺勤 'L':Late,迟到 'P':Present,到场 ...

  3. C++Python描述 LeetCode 551. 学生出勤记录 I

    C++&Python描述 LeetCode 551. 学生出勤记录 I   大家好,我是亓官劼(qí guān jié ),在公众号.CSDN.GitHub.B站.华为开发者论坛等平台分享一些 ...

  4. Java实现 LeetCode 551 学生出勤记录 I(暴力大法好)

    551. 学生出勤记录 I 给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个 ...

  5. LeetCode 551. 学生出勤记录 I

    1. 题目 给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学生的出勤记录中 ...

  6. [Swift]LeetCode551. 学生出勤纪录 I | Student Attendance Record I

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  7. leetcode 551. 学生出勤记录 I(Java版)

    题目 https://leetcode-cn.com/problems/student-attendance-record-i/ 题解 public class Solution {public bo ...

  8. 551. 学生出勤记录

    551. 学生出勤记录 I 给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤.迟到.到场).记录中只含下面三种字符: 'A':Absent,缺勤 'L':Late ...

  9. 551. 学生出勤记录 I

    链接:551. 学生出勤记录 I 题解: class Solution { public:bool checkRecord(string s) {std::unordered_map<char, ...

最新文章

  1. ACM 竞赛高校联盟 练习赛 第二场 BC
  2. .NET2.0隐形的翅膀,正则表达式搜魂者【月儿原创】
  3. pandas 读写 excel 数据
  4. 第一个程序01 - 零基础入门学习汇编语言20
  5. 噪声对于训练神经网络的重要性
  6. 用一条dos命令创建一个恶意文件夹
  7. 数字图像处理-7频域滤波
  8. BroadcastReceiver详解
  9. Linux磁盘、内存、CPU、进程
  10. 编程 ul 不能一行显示 跳到下行_史上最全的数控G代码编程详解
  11. SVN 客户端的安装与配置
  12. java|Android仿Form表单以post方式提交文本和文件
  13. MySQL存储引擎的区别(myisam和innodb)
  14. Java 简单工厂模式和工厂模式(类图及实现)
  15. linux 平台编程软件下载,慧编程-慧编程linux版下载 v1.2.0官方版--pc6下载站
  16. 字模提取软件的使用(pctolCD2002,基于FPGA的VGA显示汉字)
  17. windows10安装NVIDIA显卡驱动+cuda10.0教程
  18. 永远不会被杀的***捆绑机
  19. 心形一行python_《心》字意思读音、组词解释及笔画数 - 新华字典 - 911查询
  20. 遇见逆水寒服务器维护时间,《遇见逆水寒》7月23日更新公告

热门文章

  1. 【科研系列】专利检索工具及方法简单介绍
  2. 《Linux系统调用: clone》
  3. Qt 连接mysql数据库 QSql
  4. 豆瓣图书爬取并进行评论的特征提取
  5. 【附源码】Python计算机毕业设计社区养老院管理系统
  6. 致电子类专业学生的一封信
  7. 如何有效提升英文口语水平?这 15 个方法值得学习!
  8. Mysql 日期查询 查询某年某月末日 某时某分某秒...
  9. 学习笔记(02):XCX微信小程序基础教程-XCX微信小程序基础教程-1:小程序简介和注册1 ... ......
  10. Lucene5学习之FuzzyQuery使用