స్టూడెంట్ అటెండెన్స్ రికార్డ్ I లీట్‌కోడ్ సొల్యూషన్


కఠినత స్థాయి సులువు
తరచుగా అడుగుతుంది గూగుల్
స్ట్రింగ్

సమస్యల నివేదిక

”స్టూడెంట్ అటెండెన్స్ రికార్డ్ I” సమస్యలో మాకు ఇవ్వబడింది a స్ట్రింగ్ ఇక్కడ ప్రతి అక్షరం విద్యార్థి హాజరు వివరాలను సూచిస్తుంది. స్ట్రింగ్‌లోని అక్షరాల వివరణ క్రింది విధంగా ఉంది:

  1. 'ఎ' అంటే లేకపోవడం.
  2. 'పి' అంటే వర్తమానం.
  3. 'ఎల్' అంటే ఆలస్యం

అతను ఒకటి కంటే ఎక్కువ రోజులు గైర్హాజరు కాకపోతే లేదా రెండు రోజుల కన్నా ఎక్కువ ఆలస్యం చేయకపోతే విద్యార్థి హాజరు ఆధారంగా రివార్డ్ చేయబడతారు. మా పని విద్యార్థికి రివార్డ్ అవుతుందో లేదో నిర్ణయించడం.

ఉదాహరణ

str="PPALLP"
true

వివరణ:

స్టూడెంట్ అటెండెన్స్ రికార్డ్ I లీట్‌కోడ్ సొల్యూషన్

విద్యార్థి ఒకటి కంటే ఎక్కువ రోజులు హాజరుకాకపోవడం మరియు రెండు రోజులకు మించి నిరంతరం ఆలస్యం చేయనందున అతనికి బహుమతి ఇవ్వాలి.

స్టూడెంట్ అటెండెన్స్ రికార్డ్ I లీట్‌కోడ్ సొల్యూషన్ కోసం అప్రోచ్

అమలు

ఇది ప్రాథమిక అమలు సమస్య. విద్యార్థికి రివార్డ్ లభిస్తుందో లేదో మనం కనుగొనాలి. కాబట్టి విద్యార్థికి బహుమతి ఇవ్వడానికి అతను ఒకటి కంటే ఎక్కువ రోజులు గైర్హాజరు కాదా మరియు రెండు రోజుల కన్నా ఎక్కువ ఆలస్యం కాదా అని తనిఖీ చేయాలి. ఈ తనిఖీ చేయడానికి మేము ఈ దశలను అనుసరిస్తాము:

  1. 'A' గణన మరియు 'L' గణన సంఖ్యను సున్నా ద్వారా ప్రారంభించండి
  2. పూర్తి స్ట్రింగ్‌లో ప్రయాణించండి.
    1. ప్రస్తుత అక్షరం 'A' అయితే, 'A' గణనను ఒక్కొక్కటిగా పెంచండి.
    2. ప్రస్తుత అక్షరం 'L' అయితే, 'L' గణనను ఒక్కొక్కటిగా పెంచండి.
    3. లేకపోతే, 'L' లెక్కింపు సున్నా అవుతుంది.
    4. ఇప్పుడు 'A' లెక్కింపు 2 కన్నా ఎక్కువ లేదా సమానంగా ఉందా లేదా 'L' లెక్కింపు 2 కన్నా ఎక్కువగా ఉందో లేదో తనిఖీ చేయండి.
  3. చివరికి, అన్ని షరతులు సంతృప్తి చెందితే నిజం.

స్టూడెంట్ అటెండెన్స్ రికార్డ్ 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

స్టూడెంట్ అటెండెన్స్ రికార్డ్ 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 లీట్‌కోడ్ సొల్యూషన్ యొక్క సంక్లిష్టత విశ్లేషణ

సమయం సంక్లిష్టత

పై కోడ్ యొక్క సమయం సంక్లిష్టత పై) ఎందుకంటే మేము స్ట్రింగ్‌ను ఒక్కసారి మాత్రమే ప్రయాణిస్తున్నాము. ఇక్కడ n ఇచ్చిన స్ట్రింగ్ యొక్క పొడవు.

స్థల సంక్లిష్టత

పై కోడ్ యొక్క స్థల సంక్లిష్టత O (1) ఎందుకంటే మేము జవాబును నిల్వ చేయడానికి వేరియబుల్ మాత్రమే ఉపయోగిస్తున్నాము.

ప్రస్తావనలు