LeetCode——551. 学生出勤记录I

通过万岁!!!

  • 题目:题目说的有背景,但是其实本质就是给你一个字符串,然后里面如果出现2个A就是false,如果出现连续的3个L也是返回false,其他的都是true。
  • 思路:遍历字符串,统计A和L的个数。L的统计比较特殊,如果出现L以后就countL就+1,但是如果不是L,则countL则设置为0,这样我们可以通过countL是否等于3即可知道是不是连续三个L。
  • 技巧:字符串遍历

java代码

java 复制代码
class Solution {
    public boolean checkRecord(String s) {
        int countA = 0;
        int countL = 0;
        for (Character c : s.toCharArray()) {
            if (c == 'A') {
                countL = 0;
                countA++;
                if (countA == 2) {
                    return false;
                }
            } else if (c == 'L') {
                countL++;
                if (countL == 3) {
                    return false;
                }
            } else {
                countL = 0;
            }
        }
        return true;

    }
}
  • 总结:题目比较简单,主要是这个L的统计方法。
相关推荐
阿Y加油吧11 分钟前
力扣打卡——搜索二维矩阵、相交链表
线性代数·leetcode·矩阵
短剑重铸之日11 分钟前
《ShardingSphere解读》16 改写引擎:如何理解装饰器模式下的 SQL 改写实现机制?
java·数据库·后端·sql·shardingsphere·分库分表·装饰器模式
普贤莲花14 分钟前
【2026年第11周---写于20260322】
程序人生·算法·leetcode
q54314708716 分钟前
VScode 开发 Springboot 程序
java·spring boot·后端
小白自救计划17 分钟前
力扣知识点杂集
算法·leetcode·哈希算法
阿贵---20 分钟前
分布式系统C++实现
开发语言·c++·算法
不染尘.22 分钟前
最短路径之Bellman-Ford算法
开发语言·数据结构·c++·算法·图论
小涛不学习25 分钟前
Java高频面试题(带答案版)
java·开发语言
big_rabbit050225 分钟前
JVM堆内存查看命令
java·linux·算法
m0_6625779727 分钟前
C++中的RAII技术深入
开发语言·c++·算法