551. 學生出勤記錄

551. 學生出勤記錄 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’

解題思路

  • L:變量代表連續遲到的天數
  • A:代表缺勤的總天數

最后根據A和L的按照出勤獎勵的條件:

  • 按 總出勤 計,學生缺勤(‘A’)嚴格 少于兩天。
  • 學生 不會 存在 連續 3 天或 3 天以上的遲到(‘L’)記錄。

如果在更新缺勤次數和連續遲到次數之后,出現缺勤次數大于或等于 2 或者連續遲到次數大于或等于 3,則該出勤記錄不滿足可獎勵的要求,返回false。如果遍歷結束時未出現出勤記錄不滿足可獎勵的要求的情況,則返回 true。

代碼

class Solution {public boolean checkRecord(String s) {int A=0,L=0;for (int i = 0; i < s.length(); i++) {if (s.charAt(i)=='A'){if (++A==2)return false;}else if (s.charAt(i)=='L'){if (++L>=3)return false;continue;}L=0;}return true;}
}
  • 時間復雜度:O(n),其中?n?是字符串?s?的長度。需要遍歷字符串?s?一次。
  • 空間復雜度:O(1)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390302.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390302.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390302.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JavaScript實現職責鏈模式

什么是職責鏈模式 職責鏈模式的定義是&#xff1a;使多個對象都有機會處理請求&#xff0c;從而避免請求的發送者和接收者之間的耦合關系&#xff0c;將這些對象連成一條鏈&#xff0c;并沿著這條鏈傳遞該請求&#xff0c;直到有一個對象處理它為止。舉個例子&#xff1a;當你從…

Metrics介紹和Spring的集成

參考&#xff1a; http://colobu.com/2014/08/08/Metrics-and-Spring-Integration/ https://www.cnblogs.com/yangecnu/p/Using-Metrics-to-Profiling-WebService-Performance.html

配置 aws cli_AWS CLI教程–如何安裝,配置和使用AWS CLI了解您的資源環境

配置 aws cliHow to get exactly the account and environment information you need to manage your AWS account using just the AWS CLI如何僅使用AWS CLI準確獲取管理AWS賬戶所需的賬戶和環境信息 Installing the AWS CLI is actually quite simple. The best way to get …

grep遞歸查找頭文件_Grep命令教程–如何使用遞歸查找在Linux和Unix中搜索文件

grep遞歸查找頭文件grep stands for Globally Search For Regular Expression and Print out. It is a command line tool used in UNIX and Linux systems to search a specified pattern in a file or group of files. grep代表全局搜索正則表達式并打印出來 。 它是UNIX和Li…

C++ 前置聲明

&#xff08;一&#xff09;class的前置聲明 class的前置聲明有兩種。 pre.hclass PreA {}; main.hclass PreA; class Main {};//或者 class Main {class PreA* A; }; (二) struct前置聲明 struct的前置聲明只能用第一種。 &#xff08;三&#xff09; 有typedef的前置聲明 Pr…

2.18 特殊權限set_uid 2.19 特殊權限set_gid 2.20 特殊權限stick_bit 2.21 軟鏈接文件 2.22 硬連接文件...

2019獨角獸企業重金招聘Python工程師標準>>> 特殊權限set_uid set_uid:該權限針對二進制可執行文件&#xff0c;使文件在執行階段具有文件所有者的權限&#xff1b; 通俗一點講就是&#xff0c;普通用戶想要訪問一個沒有其他用戶可執行權限的目錄時&#xff0c;暫時…

345. 反轉字符串中的元音字母

345. 反轉字符串中的元音字母 給你一個字符串 s &#xff0c;僅反轉字符串中的所有元音字母&#xff0c;并返回結果字符串。 元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’&#xff0c;且可能以大小寫兩種形式出現。 示例 1&#xff1a; 輸入&#xff1a;s “hello” 輸…

通過制作數字桌面游戲和Web應用程序學習JavaScript

Building 2D games can be a great way to learn JavaScript, especially when working through the basics of complex tabletop game logic.制作2D游戲可能是學習JavaScript的好方法&#xff0c;尤其是在研究復雜的桌面游戲邏輯基礎時。 In this series, I’m going to intr…

【HAVENT原創】Node Express API 通用配置

為什么80%的碼農都做不了架構師&#xff1f;>>> ( 基于 Express 4.x ) 啟動文件 /app.js&#xff1a; var express require(express); var bodyParser require(body-parser); var proxy require(http-proxy-middleware); var path require(path);var index re…

C#使用Json.NET解析Json

本文轉載自 http://xiaosheng.me/2016/10/01/article25/ 最近在 C# 項目中需要使用到 Json 格式的數據&#xff0c;我簡單上網搜索了一下&#xff0c;基本上有兩種操作 Json 數據的方法&#xff1a; 使用 Windows 系統自帶的類使用第三方的包本著“第三方包一定有比系統自帶類優…

現在JavaScript日期–如何在JavaScript中獲取當前日期

Many applications you build will have some sort of a date component, whether its the creation date of a resource, or the timestamp of an activity. 您構建的許多應用程序都將具有某種日期組件&#xff0c;無論是資源的創建日期還是活動的時間戳。 Dealing with date…

233. 數字 1 的個數

給定一個整數 n&#xff0c;計算所有小于等于 n 的非負整數中數字 1 出現的個數。 示例 1&#xff1a; 輸入&#xff1a;n 13 輸出&#xff1a;6 示例 2&#xff1a; 輸入&#xff1a;n 0 輸出&#xff1a;0 解題思路 正確性證明 例如&#xff1a;對于n3015&#xff0c…

Linux串口設置參數

為什么80%的碼農都做不了架構師&#xff1f;>>> 在Linux環境下&#xff0c;串口名從ttyS0開始依次是ttyS1、ttyS2等。在本程序中&#xff0c;使用ttyS0作為通信串口。在打開ttyS0的時候選項 O_NOCTTY 表示不能把本串口當成控制終端&#xff0c;否則用戶的鍵盤輸入信…

STM32F013 十元板

我大拇指般大小。STM32F103C8T6&#xff0c;64K Flash&#xff0c;20K RAM&#xff0c;m3的核。十元&#xff0c;應該是價格極限了吧。 通過USB供電&#xff08;5V&#xff09;&#xff0c;也可以排針3.3V供電。可惜沒有引出5V排針。USB口可以供電和USB通訊&#xff0c;沒有USB…

如何在Python中建立和訓練K最近鄰和K-Means集群ML模型

One of machine learnings most popular applications is in solving classification problems.機器學習最流行的應用之一是解決分類問題。 Classification problems are situations where you have a data set, and you want to classify observations from that data set in…

552. 學生出勤記錄 II

552. 學生出勤記錄 II 可以用字符串表示一個學生的出勤記錄&#xff0c;其中的每個字符用來標記當天的出勤情況&#xff08;缺勤、遲到、到場&#xff09;。記錄中只含下面三種字符&#xff1a; ‘A’&#xff1a;Absent&#xff0c;缺勤 ‘L’&#xff1a;Late&#xff0c;遲…

C/C++中計算函數運行時間

#include<stdio.h> #include<time.h> clock_t start,stop;//clock_t 是clock&#xff08;&#xff09;函數返回變量的類型 double duration;//記錄被測函數的運行時間&#xff0c;以秒為單位 int main() { startclock();//開始計時 MyFunction();//把被測函數加在這…

作為一名前端開發工程師,你必須掌握的WEB模板引擎:Handlebars

為什么需要使用模板引擎&#xff1f; 關于為什么要使用模板引擎&#xff0c;按照我常說的一句話就是&#xff1a;不用重復造輪子了。 簡單來說&#xff0c;模板最本質的作用是“變靜為動”&#xff0c;一切利于這方面的都是優勢&#xff0c;不利于的都是劣勢。要想很好地實現“…

extjs 實用開發指南_如何提出有效問題:針對開發人員的實用指南

extjs 實用開發指南Learning is a journey that never ends. At every point in your career, you will keep learning, re-learning, and un-learning. 學習是一個永無止境的旅程。 在職業生涯的每個階段&#xff0c;您都會不斷學習&#xff0c;重新學習和不學習。 The abil…

LOJ 6270

最近&#xff08;一直&#xff09;有點&#xff08;很&#xff09;蠢 按照區間大小排序做區間包含多少區間的話 只用考慮 左端點比當前左端點小的和右端點比當前右端點大的&#xff0c;因為不可能同時滿足 關于K&#xff0c;就在做到K的時候減一下就好了&#xff0c;一直傻逼在…