给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:

'A' : Absent,缺勤
'L' : Late,迟到
'P' : Present,到场
如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。

你需要根据这个学生的出勤记录判断他是否会被奖赏。

示例 1:

输入: "PPALLP"
输出: True
示例 2:

输入: "PPALLL"
输出: False

思路:

我们统计 A 的数目并检查子字符串 LLL是否是一个子串。

public class Solution {public boolean checkRecord(String s) {int countA = 0;for (int i = 0; i < s.length() && countA < 2; i++) {if (s.charAt(i) == 'A')countA++;if (i <= s.length() - 3 && s.charAt(i) == 'L' && s.charAt(i + 1) == 'L' && s.charAt(i + 2) == 'L')return false;}return countA < 2;}
}

leetcode551. 学生出勤记录 I相关推荐

  1. [字符串题-java实现]LeetCode551. 学生出勤记录 I

    目录 题目要求 代码实现1 代码分析1 1.indexOf(String str) 2.lastIndexOf(String str) 3.contains(CharSequence s) 代码实现2 ...

  2. 552. 学生出勤记录 II

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

  3. 551. 学生出勤记录

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

  4. LeetCode 552. 学生出勤记录 II(动态规划)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个正整数 n,返回长度为 n 的所有可被视为可奖励的出勤记录的数量. 答案可能非常大,你只需返回结果mod 10^9 + 7的值. 学生出勤记录是只 ...

  5. 551. 学生出勤记录 I

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

  6. 力扣 -- 551. 学生出勤记录 I 、 552. 学生出勤记录 II

    目录 551. 学生出勤记录 一 .题目描述 二. 实现思路以及代码 552. 学生出勤记录 II 一 .题目描述 二. 实现思路以及代码 551. 学生出勤记录 一 .题目描述 给你一个字符串 s  ...

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

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

  8. 字符串题目:学生出勤记录 I

    文章目录 题目 标题和出处 难度 题目描述 要求 示例 数据范围 解法 思路和算法 代码 复杂度分析 题目 标题和出处 标题:学生出勤记录 I 出处:551. 学生出勤记录 I 难度 2 级 题目描述 ...

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

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

最新文章

  1. NASA打算送机器蜜蜂去探索火星上的生命痕迹
  2. MyCat基本概念、配置文件及日志配置
  3. linux vim编译命令行,LINUX VIM编译器常用命令总结
  4. 将一个数字划分成树状
  5. 关系数据库——关系数据语言
  6. python from __future__ import division
  7. 2020年上半年短视频内容发展盘点报告
  8. NSIS 设置系统变量
  9. OpenLayers 官网例子的中文详解 1
  10. windows7系统安装中文语言包汉化问题
  11. 锐浪HTML5报表实际应用方法,解决锐浪Grid++报表在谷歌等浏览器不兼容的尴尬局面
  12. android 电视安装apk文件损坏,智能电视无法安装APK文件?原因都在这里!
  13. 开源软路由和防火墙pfSense
  14. Fractional Fourier Image Transformer forMultimodal Remote Sensing Data Classification
  15. eclipse制作app入门教程
  16. I2C时序分析及模拟实现I2C主设备驱动
  17. 虚拟机设置BT4上网
  18. 【Qt】断言Q_ASSERT的使用
  19. PyTorch之分布式操作中的Barrier
  20. MySQL数据库 学习笔记 零基础入门 面试 整理

热门文章

  1. 磁盘剩余空间策略_MySQL磁盘消耗迅猛掌握这点就够了,包你事半功倍
  2. a5d27 emmc启动 修改2
  3. ubuntu ip设置
  4. 关于在pjsip中添加视频的流程说明
  5. wince6.0编译命令分析
  6. java如何添加进程_如何创建一个进程,如何进程调用进程
  7. python浮点型数据怎么显示为图片_python数字图像处理(4):图像数据类型及颜色空间转换...
  8. diff算法_vue源码解读 diff算法
  9. 【转】Windows消息传递机制详解
  10. 【转】C++/CLI入门系列 第二篇:封装C++ dll库,提供接口给C#调用