郑州树标网站建设,南宁京象建站公司,鹰潭网站建设,广西南宁网站策划题目描述解题思路执行结果 leetcode551. 学生出勤记录 I . 题目描述 给你一个字符串 s 表示一个学生的出勤记录#xff0c;其中的每个字符用来标记当天的出勤情况#xff08;缺勤、迟到、到场#xff09;。记录中只含下面三种字符#xff1a; A#xff1a;Absent#xff… 题目描述解题思路执行结果 leetcode551. 学生出勤记录 I . 题目描述 给你一个字符串 s 表示一个学生的出勤记录其中的每个字符用来标记当天的出勤情况缺勤、迟到、到场。记录中只含下面三种字符 AAbsent缺勤 LLate迟到 PPresent到场 如果学生能够 同时 满足下面两个条件则可以获得出勤奖励 按 总出勤 计学生缺勤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 来源力扣LeetCode 链接https://leetcode.cn/problems/student-attendance-record-i 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 解题思路 法1\ 统计\ 统计A(缺席的次数,一旦2直接false) 统计连续L(迟到)的个数,(一旦超过3.直接false) 时间复杂度(O(n)) 空间复杂度(O(1)) 执行结果 法1 func checkRecord(s string) bool {a:0for i : 0; i len(s); i {//统计不合格的情况 for t:1 ;s[i]L;t{ i if t3 {//连续L超过3 return false } if ilen(s){return true} } if s[i]A { a if a2 {//a超过2 return false } }}return true} 执行用时 0 ms , 在所有 Go 提交中击败了 100.00% 的用户 内存消耗 1.9 MB , 在所有 Go 提交中击败了 63.10% 的用户 通过测试用例 113 / 113 本文由 mdnice 多平台发布