zoukankan      html  css  js  c++  java
  • 551. 学生出勤记录 I

    给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:
    'A' : Absent,缺勤
    'L' : Late,迟到
    'P' : Present,到场
    如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。
    你需要根据这个学生的出勤记录判断他是否会被奖赏。

    示例 1:
    输入: "PPALLP"
    输出: True

    
    
    思路:
    1、统计原串中A的个数,大于1则返回False;
    2、遍历原串,当遇到L时(下标为index),截取index往后的三个字符,若是LLL则返回False;
    3、遍历结束,返回True。
     1 class Solution(object):
     2     def checkRecord(self, s):
     3         """
     4         :type s: str
     5         :rtype: bool
     6         """
     7         # 原串中A的个数大于1
     8         if s.count('A') > 1:
     9             return False
    10         for index, ch in enumerate(s):
    11             # 连续出现三个L
    12             if ch == 'L' and s[index:index + 3] == 'LLL':
    13                 return False
    14         return True
    15 
    16 
    17 if __name__ == '__main__':
    18     solution = Solution()
    19     print(solution.checkRecord("PPALLP"))
    20     print(solution.checkRecord("ALL"))
     
     
  • 相关阅读:
    树形dp入门
    D. Kilani and the Game(多源BFS)
    C. Ayoub and Lost Array
    poj3254(状压dp)
    CodeForces
    链式前项星(模板)
    “东信杯”广西大学第一届程序设计竞赛(同步赛)H
    最小生成树kruskal模板
    hdu-4763(kmp+拓展kmp)
    poj-3080(kmp+暴力枚举)
  • 原文地址:https://www.cnblogs.com/panweiwei/p/12682252.html
Copyright © 2011-2022 走看看