leetcode551. 学生出勤记录 I

这篇具有很好参考价值的文章主要介绍了leetcode551. 学生出勤记录 I。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 题目描述
  • 解题思路
  • 执行结果
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 多平台发布文章来源地址https://www.toymoban.com/news/detail-419195.html

到了这里,关于leetcode551. 学生出勤记录 I的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python+大数据-知行教育(七)-学生出勤主题看板

    2.1 需求分析 回顾: 需求一: 统计指定时间段内,不同班级的出勤人数。打卡时间在上课前40分钟(否则认为无效)~上课时间点之内,且未早退,则为正常上课打卡。可以下钻到具体学生的出勤数据。跨天数据直接累加。 需求二: 统计指定时间段内,不同班级的学生出勤率。可以

    2024年02月09日
    浏览(38)
  • 某软件的一个模块的需求规格说明书中描述【软件测试题目】

    某软件的一个模块的需求规格说明书中描述 (1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2% (2)非年薪制员工:严重过失,扣除当月薪资的8%;过失,扣除当月薪资的4% (1)分析原因及结果 原因 c1:年薪制员工 c2:非年薪制员工 c3:过失 c4:严重过失

    2024年02月08日
    浏览(48)
  • 题目:1984.学生分数的最小差值

    ​ 题目来源:         leetcode题目,网址:1984. 学生分数的最小差值 - 力扣(LeetCode) 解题思路:        将数组排序后,计算当 i=0,1,2,3.... 时 nums[i+k-1] 与 nums[i] 之差并返回其中的最小值即可。   解题代码: 总结:         官方题解也是一样的思路,滑动窗口。

    2024年02月15日
    浏览(52)
  • 【LeetCode】 双指针,快慢指针解题

    1.删除有序数组中的重复项 2.移除元素

    2024年02月11日
    浏览(57)
  • leetcode 122双周赛 解题思路+代码

    本人水平有限,只做出3道,最后1道放弃。 给你一个长度为 n 的整数数组 nums 。 一个数组的 代价 是它的 第一个 元素。比方说,[1,2,3] 的代价是 1 ,[3,4,1] 的代价是 3 。 你需要将 nums 分成 3 个 连续且没有交集 的子数组。 请你返回这些子数组的 最小 代价 总和 。 示例 1: 输

    2024年02月20日
    浏览(41)
  • buuctf crypto 【RSA】解题记录

    1.打开文件后,可以看到公钥,打开后解析公钥 2.分解一下n,得到p,q(使用yafu分解)后,写出脚本 3.运行,得到flag

    2024年02月09日
    浏览(35)
  • buuctf crypto 【Cipher】解题记录

    1.打开题目就有密文 2.一点思路没有,看看大佬的wp(BUUCTF Cipher 1_cipher buuctf_玥轩_521的博客-CSDN博客),捏麻麻的原来玄机就在“公平的玩吧”这句话里,playfair也是一种加密方式,密钥猜测也是playfair,解密一下

    2024年02月09日
    浏览(39)
  • 大学生毕业设计论文题目大全_kaic

    跨境电商背景下日语实际应用技能的需求分析 绿色电力板块量化选股策略研究 中国邮政银行代理保险业务发展现状、存在问题及对策研究 中日两国手办的发展现状调查 标准化在企业门户网站运营过程中的应用——以SGS通标标准技术服务有限公司为例 日语专业学生对中日动

    2024年02月10日
    浏览(45)
  • LeetCode --- 1929. Concatenation of Array 解题报告

    Given an integer array  nums  of length  n , you want to create an array  ans  of length  2n  where  ans[i] == nums[i]  and  ans[i + n] == nums[i]  for  0 = i n  ( 0-indexed ). Specifically,  ans  is the  concatenation  of two  nums  arrays. Return  the array  ans . Example 1: Example 2:

    2024年02月09日
    浏览(48)
  • 2023年美国大学生数学建模MCM问题Y:了解二手帆船的价格-解题思路及代码分享

    2023 MCM Problem Y: Understanding Used Sailboat Prices 2023年MCM问题Y:了解二手帆船的价格 和许多奢侈品一样,帆船的价值会随着老化和市场条件的变化而变化。附件中所附的“2023_MCM_Problem_Y_Boats.xlsx”文件包括了2020年12月在欧洲、加勒比海和美国登广告出售的大约3500艘36至56英尺长的帆

    2023年04月15日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包