Leetcode Solution တွင်ထူးဆန်းသောအရေအတွက်ရှိသည့်စာလုံးများဖြင့် String တစ်ခုဖန်တီးပါ


ခက်ခဲအဆင့် လွယ်ကူသော
မကြာခဏမေးတယ် DiDi
ကြိုး

ပြProbleနာဖော်ပြချက်

ဤပြproblemနာတွင်ကျွန်ုပ်တို့သည်အရှည်ကိုပေးထားသည်။ ကျနော်တို့ကထုတ်လုပ်ရန်ရှိသည် ကြိုး အက္ခရာအားလုံးမှာအကြိမ်အရေအတွက်မကပါဘူး။ ဥပမာ - aaaaab သည်ခိုင်လုံသော string တစ်ခုဖြစ်သည်။ အဘယ်ကြောင့်ဆိုသော် count (a) = 5 နှင့် count (b) = 1 ကြောင့်ဖြစ်သည်။
ဒါပေမယ့် aaabbc ကဒီမှာကိန်းသေမဟုတ်ဘူး။ count (b) = 2 ကညီတဲ့ကိန်းဂဏန်းပဲ။

နမူနာ

n = 4
"pppz"

ရှင်းလင်းချက်:

“ pppz” သည်ခိုင်လုံသော string တစ်ခုဖြစ်သည်။ အဘယ်ကြောင့်ဆိုသော် p သည်အက္ခရာသုံးကြိမ်ဖြစ်ပြီး 'z' သည်တစ်ကြိမ်တည်းဖြစ်တတ်သည်။ "ohhh" နှင့် "love" ကဲ့သို့သောခိုင်လုံသောအခြားကြိုးများရှိကြောင်းသတိပြုပါ။

n = 2
"xy"

ရှင်းလင်းချက်:

“ xy” သည်မှန်ကန်သော string တစ်ခုဖြစ်သည်။ သတိပြုရန်မှာ“ ag” နှင့်“ ur” ကဲ့သို့သောခိုင်လုံသောအခြားကြိုးများစွာရှိသည်။

ချဉ်းကပ်နည်း

ဒီမှာလှည့်ကွက်တစ်ခုကိုသုံးနိုင်သည်။
အကယ်၍ string အရှည်သည်မကိန်းဖြစ်လျှင်၎င်းကိုဖန်တီးရန်တစ်လျှောက်လုံးအက္ခရာတစ်ခုသာသုံးနိုင်သည် ကြိုး, နှင့် input အရှည်အရေအတွက်ကပင်လျှင်, ငါတို့သည်ဇာတ်ကောင်နှစ်ခုပဲရှိပါတယ် string ကိုဖန်တီးနိုင်ပါတယ်။
အက္ခရာတစ်လုံး (n-1 ကြိမ်) (တစ်ကိန်းမကိန်းဖြစ်သည့်အတွက်မရေမတွက်နိုင်သောဂဏန်းဖြစ်လိမ့်မည်) နှင့်တစ်ချိန်က anoter character (အများအားဖြင့်မရေတွက်နိုင်သောအရေအတွက်) ဖြစ်ပျက်သည်။

ဥပမာ n = 4, ကျွန်ုပ်တို့၏ output သည် aaab ဖြစ်လိမ့်မည်
နှင့်လျှင် n = 3, ငါတို့ output ကို aaa ဖြစ်လိမ့်မည်

Leetcode Solution တွင်ထူးဆန်းသောအရေအတွက်ရှိသည့်စာလုံးများဖြင့် String တစ်ခုဖန်တီးပါ
ငါတို့ဖြေရှင်းချက်မှာစာလုံးတွေ a နဲ့ b ကိုပဲသုံးတယ်။

အကောင်အထည်ဖော်ရေး

Leetcode Solution တွင်ထူးဆန်းသောအရေအတွက်ရှိသည့်စာလုံးများဖြင့် String တစ်ခုဖန်တီးရန် C ++ အစီအစဉ်

#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

Leetcode Solution တွင်ထူးဆန်းသောအရေအတွက်ရှိသည့်စာလုံးများဖြင့် String တစ်ခုဖန်တီးရန်အတွက် Java Program သည်

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 Solution သည်ထူးဆန်းသောအရေအတွက်ရှိသည့်စာလုံးများဖြင့် String တစ်ခုကိုထုတ်လုပ်ရန်အတွက်ရှုပ်ထွေးမှုအားခွဲခြမ်းစိတ်ဖြာခြင်း

အချိန်ရှုပ်ထွေး

အို ()) ကျနော်တို့တစ်ချိန်ကပေးသောအရှည်များအတွက် linearly ကြားမှာနေကြသည်။ ထို့ကြောင့်, အချိန်ရှုပ်ထွေးအို ()) ဖြစ်လိမ့်မည်။

အာကာသရှုပ်ထွေးမှု 

အို ()) ကျွန်တော်တို့ရဲ့ output string ကိုဖန်တီးနေတယ်၊ ​​ဒါကြောင့်ကျွန်တော်တို့ပေးထားတဲ့အရှည်အပိုနေရာကိုသုံးနေတယ်။ ထို့ကြောင့်, အာကာသရှုပ်ထွေးလည်းအို ()) ဖြစ်ပါတယ်။