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的统计方法。
相关推荐
Volunteer Technology4 小时前
Spring AI MCP案例
java·开发语言·数据库
紫琪软件工作室4 小时前
SpringBoot Java邮件发送工具类
java·spring boot·spring
郝学胜-神的一滴4 小时前
干货版《算法导论》04:渐近复杂度与序列接口实战
java·开发语言·数据结构·c++·python·算法
zzzsde4 小时前
【Linux】信号处理(3)信号处理&&valatile关键字
linux·运维·服务器·开发语言·算法
2301_811130544 小时前
【保姆级教程】Android Studio完整安装步骤(2026最新版,新手零踩坑)
android·java
_Evan_Yao4 小时前
缓存与数据库的“双写悖论”:一致性的常见陷阱与破局之道
java·后端·缓存
洛水水4 小时前
【力扣100题】47.最长递增子序列
算法·leetcode·职场和发展
超梦dasgg4 小时前
Sentinel生产环境实战全解
java·微服务·sentinel
青云计划4 小时前
MySQL技术文档
java·mysql
qq_2518364574 小时前
基于java 汽车检修管理系统设计与实现 论文
java·开发语言·汽车