类别
leetcode.

Leetcode:确定出席奖励问题

在这篇文章中,我们将学习解决LeetCode模拟问题的问题。该任务是确定学生的出勤奖励应该根据他的出席记录获得奖励。

这里的解决方案是用C#语言编写的。

leetcode.的问题描述

给你一个代表学生考勤记录的字符串。记录仅包含以下三个字符:

  1. '一种' : Absent. 
  2. 'L' : Late.
  3. 'P' : Present. 

如果他的出席记录不包含,学生可以获得奖励 不止一个'a'(缺席)or 超过两个连续的'l'(迟到)

您需要返回学生是否可以根据他的出席记录获得奖励。

解决方案方法算法确定考勤奖励

我们可以提出具有以下方法的解决方案算法。

  1. 循环参加字符串表示的每个字符。
  2. 保持缺点标识符的计数器。
  3. 请参阅持续循环的最后两个字符。
  4. 如果任何条件会议,打破循环,因为缺席或晚期案件。
  5. 将结果返回为真或假值。

C#中的解决方案确定出勤奖励

在这里,我们拥有C#语言的实际解决方案实现。

public bool CheckRecord(string s) {
    var aCounter = 0;
    var lastTwoChars = "ZZ";
    var result = true;
    
    foreach (char c in s)
    {
        if(c == 'L') {
            if(lastTwoChars == "LL") {
                result = false;
                break;
            }
        }
        else if(c == 'A') {
            aCounter ++;
            if(aCounter > 1) {
                result = false;
                break;
            }
        }
        lastTwoChars = lastTwoChars.Substring(1) +   c.ToString();
    }
    
    return result;
}

整理起来

这是一个相对容易的问题。问题可能有多个解决方案,所以可以随意修改这一个或者也有自己的解决方案!

结账更多问题leetcode..

结账我们的其他文章.NET核心和C#.