په صف کې 0s او 1s جلا کړئ  


مشکل کچه په اسانۍ سره
په مکرر ډول دننه پوښتل کیږي اکولایټ ترلاسه کړئ Amazon فاب MakeMyTrip وی.دا پیټم زو
پیشه

ستونزه بیان  

فرض کړئ چې تاسو یې لرئ ضمیمه صف. ستونزه "په صف کې د 0s او 1s جلا کول" پوښتنه کوي چې په دوه برخو کې د صف څخه جلا کړئ ، په 0s او 1s کې. 0s باید د صف په کی side اړخ کې او 1 د صف په ښي خوا کې وي.

بېلګه  

arr[]={1,0,1,1,0,1,1,0}
0 0 0 1 1 1 1 1
وضاحت: ټول 0 د کی left اړخ ته لیږدول شوي او 1 یې ښیې ته لیږدول کیږي.

الګوریتم  

1. Traverse the array and get the count of total zero’s in the array.
2. Push ‘0’ that

په صف کې د وخت شمېرل

.
3. Push ‘1’ (n – count) no of times in the array from the next position of 0 where we left inserting 0.
4. Print the array.

په صف کې د جلا 0s او 1s لپاره توضیحات  

ته په پام سره سور د عدد شمیره ، په انټرویو کې ، دا به 0s او 1s په صف کې وساتي. صف په داسې ډول تنظیم کړئ چې ټول صفرونه به د صف د کی left اړخ ته لیږدول کیږي او د صف ټول 1s عناصر به د صف ښیې اړخ ته لیږدول کیږي. د دې لپاره ، موږ د ټولو صفرونو حساب چمتو کوو. دا صفر شمیرنه به له موږ سره د صف په کی side اړخ کې د زیرو په نښه کولو کې مرسته وکړي.

هم وګوره
بل لوی عنصر

په صف کې د لومړي ځل لپاره صف کې تیر کړئ ترڅو په صف کې د ټولو صفرونو شمیره ترلاسه کړئ ، دا شمیره به زموږ سره مرسته وکړي د صف له کی left اړخ څخه د ټولو شمیرو شمیرو په نښه کولو کې. نو د دې لپاره موږ به صف تیر کړو او د تیر هر ارزښت ارزونه [i] ، ایا دا 0 سره مساوي ده ، که دا د 0 سره مسله وموندل شي ، نو د 1 لخوا د شمیره ارزښت لوړ کړئ. موږ باید اعلان کړی وای او لوپ ته د ننوتلو دمخه 0 ته د شمیره ارزښت پیل کړ. د تلو وروسته موږ شمیره ترلاسه کړه.

موږ به هیڅکله وخت تکرار نه کړو ، او د 0 څخه د آرار [i] هر ارزښت په نښه کړوth د ځایونو شمیره 1 ته شمیره. اوس ، موږ د صف په کی side اړخ کې صفر لرو. اوس موږ باید له سرلیک څخه N تر هغه ځای ته واړوو چیرته چې n د سرنی اوږدوالی وي. نو له i = شمېرنې څخه پیل کول د شمېرنې ارزښت به څه وي ، ټولو ارزښتونو ته 1 ته تازه وساتئ. د ټولو عملیاتو وروسته ، موږ مطلوب سرنی لرو ، 0 د صف په کی side اړخ کې او 1s د صف په ښي اړخ کې .

په صف کې 0s او 1s جلا کړئقید

تطبیق  

په A صف کې د Segregate 0s او 1s لپاره C ++ برنامه

#include<iostream>

using namespace std;

void segregateZeroesOnes(int arr[], int n)
{
    int count = 0;

    for (int i = 0; i < n; i++)
    {
        if (arr[i] == 0)
            count++;
    }
    for (int i = 0; i < count; i++)
        arr[i] = 0;

    for (int i = count; i < n; i++)
        arr[i] = 1;
}

void printArray(int arr[], int n)
{
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";
}

int main()
{
    int arr[] = {1,0,1,1,0,1,1,0};
    int n = sizeof(arr) / sizeof(arr[0]);

    segregateZeroesOnes(arr, n);
    printArray(arr, n);

    return 0;
}
0 0 0 1 1 1 1 1

په صف کې د Segregate 0s او 1s لپاره جاوا پروګرام

class segregateZeroesOnes
{
    public static void segregateZeroesOnes(int arr[], int n)
    {
        int count = 0;

        for (int i = 0; i < n; i++)
        {
            if (arr[i] == 0)
                count++;
        }
        for (int i = 0; i < count; i++)
            arr[i] = 0;

        for (int i = count; i < n; i++)
            arr[i] = 1;
    }
    
    public static void printArray(int arr[], int n)
    {
        for (int i = 0; i < n; i++)
            System.out.print(arr[i] + " ");
    }
    
    public static void main(String[] args)
    {
        int arr[] = new int[] { 1,0,1,1,0,1,1,0 };
        int n = arr.length;

        segregateZeroesOnes(arr, n);
        printArray(arr, n);

    }
}
0 0 0 1 1 1 1 1

په صف کې د جلا 0s او 1s لپاره د پیچلو تحلیل  

د وخت پیچلتیا

اې (N) هلته "n" په صف کې د عناصرو شمیر دی.

هم وګوره
د مستطیل لیټکوډ حل جوړ کړئ

د ځای پیچلتیا

اې (N) هلته "n" په صف کې د عناصرو شمیر دی.

ماخذ