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的统计方法。
相关推荐
架构师沉默1 分钟前
AI 写的代码,你敢上线吗?
java·后端·架构
骑龙赶鸭7 分钟前
java开发项目中遇到的难点,面试!
java·开发语言·面试
NGC_661113 分钟前
Java线程池七大核心参数介绍
java·开发语言
AI成长日志21 分钟前
【笔面试算法学习专栏】二分查找专题:力扣hot100经典题目深度解析
学习·算法·面试
lcreek24 分钟前
流量优化之道:Ford-Fulkerson 最大流算法
算法·
float_com32 分钟前
【java进阶】------ Lambda表达式
java·开发语言
垫脚摸太阳33 分钟前
第 36 场 蓝桥·算法挑战赛·百校联赛---赛后复盘
数据结构·c++·算法
小碗羊肉40 分钟前
【从零开始学Java | 第二十三篇】泛型(Generics)
java·开发语言·新手入门
Aaswk1 小时前
刷题笔记(回溯算法)
数据结构·c++·笔记·算法·leetcode·深度优先·剪枝