শিক্ষার্থীদের উপস্থিতি রেকর্ড I লেটকোড সমাধান


কাঠিন্য মাত্রা সহজ
প্রায়শই জিজ্ঞাসা করা হয় গুগল
স্ট্রিং

সমস্যা বিবৃতি

"শিক্ষার্থীর উপস্থিতি রেকর্ড আই" সমস্যাটিতে আমাদের একটি দেওয়া হয় স্ট্রিং যেখানে প্রতিটি চিঠিই একজন শিক্ষার্থীর উপস্থিতি বিশদকে প্রতিনিধিত্ব করে। স্ট্রিংয়ে বর্ণগুলির ব্যাখ্যা নিম্নরূপ:

  1. 'এ' অর্থ অনুপস্থিত।
  2. 'পি' অর্থ উপস্থিত।
  3. 'এল' মানে দেরী

শিক্ষার্থী যদি এক দিনের বেশি অনুপস্থিত না থাকে বা দু'দিনের বেশি সময় ধরে একটানা দেরি না করে তবে তার উপস্থিতির ভিত্তিতে শিক্ষার্থীকে পুরস্কৃত করা হবে। আমাদের কাজ ছাত্রকে পুরস্কৃত করা হবে কিনা তা নির্ধারণ করা।

উদাহরণ

str="PPALLP"
true

ব্যাখ্যা:

শিক্ষার্থীদের উপস্থিতি রেকর্ড I লেটকোড সমাধান

যেহেতু শিক্ষার্থী এক দিনের বেশি অনুপস্থিত না থাকে এবং দু'দিনের বেশি সময় ধরে অবিরাম দেরী না করে তাই তাকে অবশ্যই পুরস্কৃত করা উচিত।

শিক্ষার্থীদের উপস্থিতি রেকর্ড XNUMX লেটকোড সমাধানের জন্য পদ্ধতির

বাস্তবায়ন

এটি একটি প্রাথমিক বাস্তবায়ন সমস্যা। শিক্ষার্থীর পুরস্কৃত হবে কি না তা আমাদের খুঁজে বের করতে হবে। সুতরাং শিক্ষার্থীকে পুরস্কৃত করার জন্য আমাদের যাচাই করা দরকার যে তিনি এক দিনের বেশি অনুপস্থিত আছেন এবং দু'দিনের বেশি সময় ধরে অবিরাম দেরী না করেছেন কিনা। আমরা এই চেকটি সম্পাদন করতে এই পদক্ষেপগুলি অনুসরণ করব:

  1. 'এ' কাউন্টের সংখ্যা এবং শূন্য দ্বারা 'এল' গণনার সূচনা করুন
  2. সম্পূর্ণ স্ট্রিং অতিক্রম করুন।
    1. বর্তমানের চরিত্রটি যদি 'এ' হয় তবে 'এ' এর গণনা একে একে বাড়িয়ে দিন।
    2. বর্তমানের চরিত্রটি যদি 'এল' হয় তবে 'এল' এর গণনা এক এক করে বাড়িয়ে দিন।
    3. অন্যথায়, 'এল' এর গণনা শূন্য হয়ে যায়।
    4. এখন পরীক্ষা করুন যে 'ক' এর গণনা 2 এর চেয়ে বড় বা সমান বা 'এল' এর গণনা 2 এর চেয়ে বড় কিনা the
  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 হল প্রদত্ত স্ট্রিংয়ের দৈর্ঘ্য।

স্থান জটিলতা

উপরের কোডটির স্পেস জটিলতা ও (1) কারণ আমরা উত্তর সংরক্ষণের জন্য কেবল একটি পরিবর্তনশীল ব্যবহার করছি।

তথ্যসূত্র