给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符:
    'A' : Absent,缺勤
    'L' : Late,迟到
    'P' : Present,到场
如果一个学生的出勤纪录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。
你需要根据这个学生的出勤纪录判断他是否会被奖赏。
示例 1:
输入: "PPALLP"
输出: True

示例 2:
输入: "PPALLL"
输出: False
详见:https://leetcode.com/problems/student-attendance-record-i/description/

C++:

方法一:

class Solution {
public:
bool checkRecord(string s)
{
int cntA = 0, cntL = 0;
for (char c : s)
{
if (c == 'A')
{
if (++cntA > 1)
{
return false;
}
cntL = 0;
}
else if (c == 'L')
{
if (++cntL > 2)
{
return false;
}
}
else
{
cntL = 0;
}
}
return true;
}
};

方法二:

class Solution {
public:
bool checkRecord(string s)
{
return (s.find("A") == string::npos || s.find("A") == s.rfind("A")) && s.find("LLL") == string::npos;
}
};

参考:http://www.cnblogs.com/grandyang/p/6736484.html

最新文章

  1. Linux中exec命令相关
  2. [Android Studio 权威教程]断点调试和高级调试
  3. Java源码初学_ArrayList
  4. core文件分析
  5. T4 模板入门
  6. WPF-控件-编辑圆角TextBox
  7. Android面试,与Service交互方式
  8. Hibernate制图(两)——许多-于─关系映射
  9. java反射获取类的类名、属性名、属性类型、方法、执行方法、构造函数
  10. 移动端适配--flexible.js
  11. 【Gradle】-NO.101.Gradle.1.gradle.1.001-【Gradle Configuration】-(
  12. C++学习(十)(C语言部分)之 分支语句
  13. 【Linux】ODBC安装
  14. AssemblyVersion,AssemblyFileVersion解释以及获取
  15. debuginfo介绍
  16. mysql编译安装后各种常见错误集锦
  17. 代码收藏系列--mysql--创建数据库、数据表、函数、存储过程命令
  18. java类中访问属性
  19. go的编译与重启
  20. AJAX && JSON之讲解

热门文章

  1. 利用javascript动态创建表格
  2. TCP与HTTP连接管理
  3. android实现文字渐变效果和歌词进度的效果
  4. BZOJ 1624 [Usaco2008 Open] Clear And Present Danger 寻宝之路:floyd
  5. C#开发遇到的常见问题及知识点
  6. tflearn 中文汉字识别模型试验汇总
  7. css父元素背景覆盖其子元素背景
  8. Web前端行业的了解
  9. codeforces 664B B. Rebus(乱搞题)
  10. C++之虚函数与虚继承详解