Сабти иштироки донишҷӯён I Solution Leetcode


Сатҳи душворӣ осон
Аксар вақт пурсида мешавад Google
сатр

Изҳороти мушкилот

Дар масъала »Сабти иштироки донишҷӯён I» ба мо а данд ки дар он ҳар як ҳарф ҷузъиёти иштироки донишҷӯро нишон медиҳад. Тафсири ҳарфҳо дар сатр чунин аст:

  1. 'A' маънои ғоибро дорад.
  2. 'P' маънои ҳозираро дорад.
  3. 'L' маънои дерро дорад

Донишҷӯ аз рӯи ҳузури ӯ, агар ӯ зиёда аз як рӯз ҳозир набошад ва ё беш аз ду рӯз пайваста дер накунад, подош дода мешавад. Вазифаи мо муайян кардани он аст, ки донишҷӯ мукофот мегирад ё не.

мисол

str="PPALLP"
true

Шарҳ:

Сабти иштироки донишҷӯён I Solution Leetcode

Азбаски донишҷӯ на бештар аз як рӯз ҳозир нест ва на зиёда аз ду рӯз ба таври муттасил дер намекунад, бинобар ин ӯ бояд мукофот гирад.

Равиш барои сабти иштироки донишҷӯён I Solution Leetcode

татбиќи

Ин мушкилоти асосии татбиқ аст. Мо бояд фаҳмем, ки оё донишҷӯ мукофот мегирад ё не. Аз ин рӯ, барои мукофотонидани донишҷӯ мо бояд тафтиш кунем, ки вай зиёда аз як рӯз ҳозир нест ва зиёда аз ду рӯз пайваста дер намекунад. Барои иҷрои ин чек мо ин амалҳоро иҷро хоҳем кард:

  1. Шумораи ҳисобкунии 'A' ва 'L' -ро ба сифр оғоз кунед
  2. Сатри пурраи гардишро тай кунед.
    1. Агар аломати ҷорӣ 'A' бошад, пас ҳисоби 'A' -ро як ба як афзоиш диҳед.
    2. Агар аломати ҷорӣ 'L' бошад, пас ҳисобкунии 'L' -ро як баробар зиёд кунед.
    3. Дар акси ҳол, ҳисоби 'L' ба сифр табдил меёбад.
    4. Акнун санҷед, ки оё ҳисоби 'A' аз 2 калон аст ё ба он ё ҳисоби 'L' аз 2 калонтар аст ё не. Агар шарт ҳақиқӣ баргардад.
  3. Дар ниҳоят, агар ҳама шартҳо иҷро карда шаванд, пас ҳақиқӣ баргардед.

Коди C ++ барои сабти иштироки донишҷӯён I

#include <bits/stdc++.h> 
using namespace std; 
bool checkRecord(string s) {
    int a=0, l=0;
    for(int i=0;i<s.size();i++) {
        if(s[i]=='A') a++;
        if(s[i]=='L') l++;
        else l=0;
        if(a>=2||l>2) return false;
    }
    return true;
}

int main() 
{ 
    string attendence ="PPALLP"; 
    bool ans=checkRecord(attendence); 
    cout<<boolalpha;
    cout<<ans<<endl;
    return 0;
}
true

Рамзи Java барои сабти иштироки донишҷӯён I

import java.util.Arrays;
import java.util.Set ;
import java.util.HashSet;
import java.util.*; 
public class Tutorialcup {
    public static boolean checkRecord(String s) {
    int a=0, l=0;
    for(int i=0;i<s.length();i++) {
        if(s.charAt(i)=='A') a++;
        if(s.charAt(i)=='L') l++;
        else l=0;
        if(a>=2||l>2) return false;
    }
    return true; 
    }
  public static void main(String[] args) {
        String attendence ="PPALLP"; 
        boolean ans=checkRecord(attendence); 
        System.out.println(ans);
  }
}
true

Таҳлили мураккабии сабти иштироки донишҷӯён I Solution Leetcode

Мураккабии вақт

Мураккабии вақти рамзи боло дар он аст Эй (н) зеро мо сатрро танҳо як маротиба убур мекунем. Дар ин ҷо n дарозии сатри додашуда мебошад.

Мураккабии фазо

Мураккабии фазоии рамзи дар боло зикршуда О (1) зеро мо барои тағир додани ҷавоб танҳо як тағирёбандаро истифода мебарем.

Адабиёт