لیٹر کوڈ حل کی عجیب گنتی والے کرداروں کے ساتھ ایک تار تیار کریں


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

مسئلہ یہ بیان

اس پریشانی میں ، ہمیں لمبائی دی جاتی ہے۔ ہمیں پیدا کرنا ہے سٹرنگ اس میں تمام کرداروں کی ایک عجیب تعداد ہے۔ مثال کے طور پر ، aaaaab ایک درست تار ہے کیونکہ گنتی (a) = 5 اور گنتی (b) = 1۔
لیکن ، aaabbc یہاں درست تار نہیں ہے کیونکہ گنتی (b) = 2 جو ایک عدد عدد ہے۔

مثال کے طور پر

n = 4
"pppz"

وضاحت:

"پی پی پی زیڈ" ایک درست تار ہے کیوں کہ کردار 'پی' تین بار آتا ہے اور 'زی' کردار ایک بار آتا ہے۔ نوٹ کریں کہ بہت سے دوسرے درست تار ہیں جیسے "اوہ" اور "پیار"۔

n = 2
"xy"

وضاحت:

"xy" ایک درست تار ہے کیونکہ 'x' اور 'y' حرف ایک بار آنے کے بعد ہیں۔ نوٹ کریں کہ اور بھی بہت ساری درست تاریں ہیں جیسے "اگ" اور "ur"۔

نقطہ نظر

ہم یہاں ایک چال استعمال کرسکتے ہیں۔
اگر تار کی لمبائی عجیب تعداد میں ہے تو ہم اس کو بنانے کے ل throughout ہم ایک ہی کردار کو استعمال کرسکتے ہیں سٹرنگ، اور اگر ان پٹ کی لمبائی ایک ہی تعداد میں ہے تو ہم صرف دو حرفوں والی ایک تار تیار کرسکتے ہیں۔
ایک کردار نون 1 بار ہوتا ہے (جو کہ ایک عجیب تعداد ہو گا کیونکہ یہاں تک کہ ن بھی یہاں ہے) اور اونوٹر کیریکٹر صرف ایک بار (جو کہ ایک عجیب شمار ہے۔)

مثال کے طور پر n = 4 ، ہماری پیداوار aaab ہوگی
اور اگر n = 3 ، ہمارا آؤٹ پٹ AAA ہوگا

لیٹر کوڈ حل کی عجیب گنتی والے کرداروں کے ساتھ ایک تار تیار کریں
ہمارے حل میں ہم صرف حرف الف اور بی استعمال کررہے ہیں ، اگر آپ چاہیں تو حرفوں کے مزید اختیارات موجود ہیں۔

عمل

لی + کوڈ حل کی عجیب گنتی والے کرداروں کے ساتھ ایک تار تیار کرنے کے لئے سی ++ پروگرام

#include <bits/stdc++.h>
using namespace std;

string generateTheString(int n) 
{
    string str;
    if(n%2==0)
    {
        for(int i=0;i<n-1;i++)  str.push_back('a');
        str.push_back('b');
    }
    else
    {
        for(int i=0;i<n;i++)  str.push_back('a');
    }
    return str;
}

int main() 
{
    int n=5;
    cout<<  generateTheString(n)   << endl;
    return 0; 
}
aaaaa

لیٹا کوڈ حل کی عجیب گنتی والے کرداروں کے ساتھ ایک تار تیار کرنے کے لئے جاوا پروگرام

class Rextester 
{
    public static String generateTheString(int n) 
    {
        StringBuilder sb=new StringBuilder();

        if(n%2==0)
        {
            for(int i=0;i<n-1;i++)sb.append('a');
            sb.append('b');
        }
        else
        {
            for(int i=0;i<n;i++)sb.append('a');
        }

        return sb.toString();
    }

    public static void main(String[]args)
    {
        int length=5;
        System.out.println(generateTheString(length));
    }
}
aaaaa

پیچیدہ تجزیہ جس میں ایسے کرداروں کے ساتھ ایک سٹرنگ تیار کیج That جو لیٹ کوڈ حل کو متناسب سمجھتے ہیں

وقت کی پیچیدگی

O (n): ہم صرف ایک بار دی گئی لمبائی کے لئے خطیر تکرار کررہے ہیں۔ لہذا ، وقت کی مکملیت O (n) ہوگی۔

خلائی پیچیدگی 

O (n): ہم اپنی آؤٹ پٹ تار تیار کررہے ہیں ، لہذا ہم دی گئی لمبائی کی ایک اضافی جگہ استعمال کررہے ہیں۔ لہذا ، خلائی پیچیدگی O (n) بھی ہے۔