551. Student Attendance Record I

来源:互联网 发布:python mobi 编辑:程序博客网 时间:2024/06/05 14:35

551. Student Attendance Record I          

You are given a string representing an attendance record for a student. The record only contains the following three characters:

  1. 'A' : Absent.
  2. 'L' : Late.
  3. 'P' : Present.

A student could be rewarded if his attendance record doesn't containmore than one 'A' (absent) or more than two continuous 'L' (late).

You need to return whether the student could be rewarded according to his attendance record.

        这道题是给你一名同学的考勤表,问你该同学能不能获得奖励,获得奖励的条件是考勤表中不得有多于一个Absent或者多于连续两次Late。这个题我是用map来保存“A”的数量和连续“L”的最大长度。

        后判断是否有:  map[‘A’]<=1&&map['L']<=2 成立。若成立则返回true,若不成立则返回false。

class Solution {public:bool checkRecord(string s) {map<char, int> m;char pre='X';int l = 0;for (int i = 0;i<s.size();i++) {if (pre == s[i] && pre == 'L') m['L']++;else {pre = s[i];m[s[i]]++;}l = max(l, m['L']);if (s[i] != 'L') m['L'] = 0;}cout << m['A'] << " " << l << endl;if (m['A'] <= 1 && l <= 2) return true;else return false;}};

原创粉丝点击