leetcode551. 学生出勤记录 I

news/2024/11/29 4:40:43/

  • 题目描述
  • 解题思路
  • 执行结果
leetcode551. 学生出勤记录 I .


题目描述

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

'A':Absent,缺勤 'L':Late,迟到 'P':Present,到场 如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励:

按 总出勤 计,学生缺勤('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\

统计\

  1. 统计A(缺席的次数,一旦>2直接false)
  2. 统计连续L(迟到)的个数,(一旦超过3.直接false)
  • 时间复杂度(O(n))
  • 空间复杂度(O(1))

执行结果

法1

func checkRecord(s string) bool {
a:=0
for i := 0; i < len(s); i++ {//统计不合格的情况
 for t:=1 ;s[i]=='L';t++{
        i++
  if t>=3 {//连续L超过3
   return false
  }
        if  i>=len(s){return true}
 }
 if s[i]=='A' {
  a++
  if a>=2 {//a超过2
   return false
  }
 }
}
return true
}

执行用时: 0 ms , 在所有 Go 提交中击败了 100.00% 的用户 内存消耗: 1.9 MB , 在所有 Go 提交中击败了 63.10% 的用户 通过测试用例: 113 / 113

本文由 mdnice 多平台发布


http://www.ppmy.cn/news/48738.html

相关文章

OpenCV2 计算机视觉应用编程秘籍:1~5

原文&#xff1a;OpenCV2 Computer Vision Application Programming Cookbook 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 计算机视觉 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 当别人说你没有底线…

JavaScript里实现继承的几种方式

JavaScript 中的继承可以通过以下几种方式来实现&#xff1a; 1、原型链继承&#xff1a;通过将子类的原型对象指向父类的实例来实现继承。这种方式的优点是实现简单&#xff0c;缺点是父类的私有属性和方法子类是不能访问的。 function Parent() {this.name parent;this.ag…

[算法总结] 关于字符串类型题你应该知道这些?精心汇总!!

&#x1f61a;一个不甘平凡的普通人&#xff0c;致力于为Golang社区和算法学习做出贡献&#xff0c;期待您的关注和认可&#xff0c;陪您一起学习打卡&#xff01;&#xff01;&#xff01;&#x1f618;&#x1f618;&#x1f618; &#x1f917;专栏&#xff1a;算法学习 &am…

OpenAI最新官方ChatGPT聊天插件接口《插件使用策略》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(七)(附源码)

Usage policies 使用策略 Introduction 导言Disallowed usage of our models 禁止使用我们的模型 Platform policy 平台策略Plugin policies 插件策略Changelog 更新日志其它资料下载 此插件使用策略 Updated 更新于 March 23,2023 2023年3月23日 Introduction 导言 We’ve r…

Onnx 转Ncnn

Onnx 转Ncnn 算法工程师给了onnx,需要转成ncnn才能用到安卓上去&#xff0c;步骤如下 简化onnx 算法给了.onnx后缀的文件&#xff0c;100多兆&#xff0c;太大&#xff0c;第一步&#xff0c;先简化&#xff1a; conda env list 查看conda环境&#xff08;前提是之前已经配…

学科类型-英文

标题 前言必学场景词汇及用法数学数字运算数学几何历史物理化学美术音乐语言学天文学生物学植物学生态学社会学情境常用单词数学数字运算数学几何周长历史物理化学二氧化碳美术音乐语言学天文学生物学植物学生态学

Win10系统下VS2019编译Qt的Ribbon控件 -- SARibbon

Win10系统下VS2019编译Qt的Ribbon控件 -- SARibbon 一、源码下载二、源码编译三、封装成库四、Qt配库五、运行测试 原文链接&#xff1a;https://blog.csdn.net/m0_51204289/article/details/126431338 一、源码下载 【1】https://gitee.com/czyt1988/SARibbon/tree/master/s…

RK35XX系列(RK3568) GT911触摸屏调试记录 添加xy镜像调换

SOC:RK3568 system:Android12 kernel:kernel-4.19 RK驱动本身就适配好TP的代码 chenjx@DESKTOP-HU3S291:~/RKAndroid12/kernel-4.19$ ls drivers/input/touchscreen/gt9xx gt9xx/ gt9xx_qcom/ gt9xx_rk/确认Makefile用的是哪一份 obj-$(CONFIG_TOUCHSCREEN_GT9XX) …