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的统计方法。
相关推荐
spcier3 小时前
图论拓扑排序-Kahn 算法
算法·图论
知星小度S3 小时前
动态规划(一)——思想入门
算法·动态规划
ysa0510303 小时前
动态规划-逆向
c++·笔记·算法
燃于AC之乐3 小时前
我的算法修炼之路--7—— 手撕多重背包、贪心+差分,DFS,从数学建模到路径DP
c++·算法·数学建模·深度优先·动态规划(多重背包)·贪心 + 差分
Whisper_Sy3 小时前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 网络状态实现
android·java·开发语言·javascript·网络·flutter·php
chinesegf3 小时前
文本嵌入模型的比较(一)
人工智能·算法·机器学习
乂爻yiyao3 小时前
1.1 JVM 内存区域划分
java·jvm
We་ct4 小时前
LeetCode 6. Z 字形变换:两种解法深度解析与优化
前端·算法·leetcode·typescript
没有bug.的程序员4 小时前
Spring Cloud Eureka:注册中心高可用配置与故障转移实战
java·spring·spring cloud·eureka·注册中心
REDcker4 小时前
Redis容灾策略与哈希槽算法详解
redis·算法·哈希算法