ڪردارن سان اهڙو جملو ٺاهيو جنهن جي بي حساب تعداد Leetcode حل هجي


تڪليف جي سطح آسان
بار بار پڇڻ ۾ ڊي آءِ
اسٽرنگ

مسئلي جو بيان

انهي مسئلي ۾ ، اسان کي هڪ ڊيگهه ڏني ويندي آهي. اسان کي ٺاهڻو آهي اي جملو اھو سڀ ڪردار بيضا تعداد آھن. مثال طور ، AAAab هڪ صحيح اسٽرنگ آهي ڇاڪاڻ ته ڳڻپ (a) = 5 ۽ ڳڻپ (b) = 1.
پر ، ايابابڪ هتي صحيح تار نه آهي ڇاڪاڻ ته ڳڻپ (b) = 2 جيڪو هڪ برابر نمبر آهي.

مثال

n = 4
"pppz"

وضاحت:

”پي پي پيز“ هڪ صحيح تار آهي ، ڇاڪاڻ ته ڪردار ’پي‘ ٽي ڀيرا ٿئي ٿي ۽ ڪردار ’ز‘ هڪ ڀيرو ٿئي ٿو. نوٽ ڪريو ته ٻيا ڪيترائي صحيح جملا ، جهڙوڪ “اوه” ۽ “پيار”.

n = 2
"xy"

وضاحت:

"xy" ھڪڙي صحيح اسٽرنگ آھي ڇاڪاڻ ته اکر 'x' ۽ 'y' ھڪ ڀيرو ٿين ٿا. نوٽ ڪريو ته ٻيا ڪيترائي صحيح اسٽرنگ ، جهڙوڪ “ag” ۽ “ur”.

چرچو

اسان هتي هڪ چال استعمال ڪري سگهون ٿا.
جيڪڏهن اسٽرنگ جي ڊيگهه بي جوڙ نمبر آهي ته پوءِ اسين هڪ واحد ڪردار استعمال ڪري سگهون ٿا جملو، ۽ جيڪڏهن ان پٽ جي ڊيگهه پڻ تعداد آهي ، ته اسان هڪ اکرن ٺاهي سگهون ٿا ، جيڪي ٻه اکر آهن.
ھڪڙو ڪردار ن-1 ڀيرا ظاھر ٿيندو (جيڪو بي مثال نمبر ٿيندو ڇو ته ن اھو ھتي به آھي) ۽ انوٽر ڪردار صرف ھڪ ڀيرو (جيڪو اڻ ڳڻي ڳڻجيءَ جي برابر آھي)

مثال طور n = 4 ، اسان جو محصول aab ٿيندو
۽ جيڪڏهن n = 3 ، اسان جو محصول aaa هوندو

ڪردارن سان اهڙو جملو ٺاهيو جنهن جي بي حساب تعداد Leetcode حل هجي
اسان صرف استعمال ڪري رهيا آهيون الف ۽ ب اسان جي حل ۾ ، چونڊيل ڪردار جا وڌيڪ اختيار آهن جيڪڏهن توهان چاهيو ٿا.

تي عملدرآمد

C ++ پروگرام اهڙو ڪردار ٺاهي جنهن جي ڪردارن ۾ هڪ بي جوڙ موجود هجي Leetcode Solution

#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

ڪردارن سان اهڙو اسٽرنگ ٺاهڻ لاءِ پيچيدگي وارو تجزيو جيڪي بي جوڙ ڳڻپ Leetcode حل رکن ٿا

وقت جي پيچيدگي

اي (ن): اسان سڌي طرح هڪ ڀيرو ڏنل لمبائي جي لاءِ دهرائي رهيا آهيون. ان ڪري ، وقت جي مطابقت O (n) هوندي.

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

اي (ن): اسان پنهنجي آئوٽ اسٽرنگ ٺاهي رهيا آهيون ، تنهنڪري اسان ڏنل لمبائي جي اضافي جڳهه استعمال ڪري رهيا آهيون. ان ڪري ، خلا جي پيچيدگي پڻ O (n) آھي.