Leetcode 551. 学生出勤记录 I C++

Leetcode 551. 学生出勤记录 I

题目

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

  1. ‘A’ : Absent,缺勤
  2. ‘L’ : Late,迟到
  3. ‘P’ : Present,到场

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

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

测试样例

示例 1:

输入: "PPALLP"
输出: True

示例 2:

输入: "PPALLL"
输出: False

题解

模拟,根据要求进行检查,判断是否奖赏。详细过程见代码

代码

	bool checkRecord(string s) {
        int Atime=0,LC=0;
        for(int i=0; i<s.length(); i++){
            if(s[i]=='A'){
                Atime++;
                if(Atime>1) return false;		//缺勤不能超过1次
            }else if(s[i] == 'L'){
                LC = i;
                while(LC<s.length() && s[LC]=='L')  LC++;
                if(LC-i > 2)    return false;	//不能有超过两个连续的迟到
                i = LC-1;
            }
        }
        return true;
    }

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/student-attendance-record-i
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

试题:该程序(Test.exe)用于统计、记录某单位全体员工一天的考勤情况。 输入:员工基本信息文件(文本文件)、全天出入记录的数据文件(文本文件) 1. 员工基本信息文件(参见employee.txt) 每行记录一位员工的基本信息,格式为:姓名,工号(例如:张三,34251),其中姓名(不超过20个字符)和工号(整型); 2. 全天出入记录的数据文件(参见log.txt) 该单位的门禁系统每天生成一个员工全天出入记录的数据文件,记录出入的工作人员工号、出入的时间以及出入类型(O:出,I:入), 记录按时间先后记录 文件中每行记录一次出或入的信息 每条记录的格式为:工号,时间,类型(例如:34251,08:30,I),其中时间格式为hh:mm。 程序要完成的功能 请通过程序读取员工基本信息文件和门禁系统全天出入记录的数据文件,计算各工作人员当天的总共在岗时间,并将结果保存至c:\result.txt文件中。要求结果中包含有姓名,工号,在岗时间等信息。 注:员工基本信息文件和数据文件的名称通过命令行参数的形式输入 (例如:Test.exe employee.txt log.txt)。 输出:员工在岗时间统计文件(文本文件) 员工在岗时间统计文件(参见result.txt) 文件中每行记录一位工作人员的在岗时间信息。 格式为:姓名,工号,在岗时间(例如:张三,34251,8小时10分钟)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值