طلبہ کی حاضری کا ریکارڈ I لیٹکوڈ حل


مشکل سطح آرام سے
اکثر پوچھا جاتا ہے گوگل
سلک

مسئلہ یہ بیان

"طالب علموں کی حاضری کا ریکارڈ I" کی پریشانی میں ہمیں ایک دیا جاتا ہے سٹرنگ جہاں ہر خط ایک طالب علم کی حاضری کی تفصیل کی نمائندگی کرتا ہے۔ تار میں حروف کی تشریح اس طرح ہے۔

  1. 'اے' کا مطلب غیر حاضر ہے۔
  2. 'پی' کا مطلب ہے حاضر ہونا۔
  3. 'ایل' کا مطلب دیر سے ہے

اگر طالب علم ایک دن سے زیادہ غیر حاضر رہتا ہے یا مسلسل دو دن سے زیادہ دیر تک غیر حاضر نہیں رہتا ہے تو اس کی حاضری کی بنیاد پر طالب علم کو اس کا بدلہ دیا جائے گا۔ ہمارا کام طے کرنا ہے کہ آیا طالب علم کو اس کا بدلہ ملے گا یا نہیں۔

مثال کے طور پر

str="PPALLP"
true

وضاحت:

طلبہ کی حاضری کا ریکارڈ I لیٹکوڈ حل

چونکہ طالب علم ایک دن سے زیادہ غیر حاضر نہیں ہے اور دو دن سے زیادہ دیر تک مسلسل تاخیر نہیں کرتا ہے لہذا اس کو ثواب ملنا ضروری ہے۔

طلبہ کی حاضری ریکارڈ I لیٹ کوڈ حل کے ل Appro اپروچ

عمل

عمل درآمد کا یہ بنیادی مسئلہ ہے۔ ہمیں یہ جاننے کی ضرورت ہے کہ آیا طالب علم کو اس کا بدلہ ملے گا یا نہیں۔ لہذا طالب علم کو انعام دینے کے ل we ہمیں یہ چیک کرنے کی ضرورت ہے کہ آیا وہ ایک دن سے زیادہ غیر حاضر نہیں ہے اور دو دن سے زیادہ دیر تک مسلسل تاخیر نہیں کرتا ہے۔ ہم اس چیک کو انجام دینے کے لئے ان اقدامات پر عمل کریں گے۔

  1. 'A' گنتی کی تعداد اور 'L' کی تعداد صفر سے شروع کریں
  2. مکمل تار عبور کریں۔
    1. اگر موجودہ حرف 'A' ہے تو پھر 'A' کی گنتی میں ایک ایک کرکے اضافہ کریں۔
    2. اگر موجودہ کردار 'L' ہے تو پھر 'L' کی گنتی کو ایک ایک کرکے بڑھائیں۔
    3. بصورت دیگر ، 'ایل' کی گنتی صفر ہوجاتی ہے۔
    4. اب چیک کریں کہ کیا 'A' کی گنتی 2 سے زیادہ ہے یا مساوی ہے یا L کی گنتی 2 سے زیادہ ہے۔ اگر شرط صحیح ہے تو غلط ہے۔
  3. آخر میں ، اگر تمام شرائط مطمئن ہیں تو پھر واپس آ جائیں۔

طلباء کی حاضری ریکارڈ I کے لئے C ++ کوڈ

#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) کیونکہ ہم جواب کو ذخیرہ کرنے کے لئے صرف متغیر کا استعمال کررہے ہیں۔

حوالہ جات