אָפּשיידן 0 ס און 1 ס אין אַן אַררייַ


שוועריקייט לעוועל גרינג
אָפט געבעטן אין אַקקאָליטע אַמאַזאָן Fab MakeMyTrip פּייַפּאַל Paytm זאָהאָ
מענגע

פּראָבלעם סטאַטעמענט

רעכן איר האָבן אַן ינטעגער מענגע. די פּראָבלעם "סעגרעגאַטע 0 ס און 1 ס אין אַ מענגע" פרעגט צו סעגרעגאַטע די מענגע אין צוויי פּאַרץ, אין 0 ס און אין 1 ס. די 0 'ס זאָל זיין אויף די לינקס זייַט פון די מענגע און 1' ס אויף די רעכט זייַט פון די מענגע.

בייַשפּיל

arr[]={1,0,1,1,0,1,1,0}
0 0 0 1 1 1 1 1
דערקלערונג: אַלע 0 'ס זענען שיפטאַד צו לינקס און 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.

דערקלערונג פֿאַר סעגרעגאַטע 0 ס און 1 ס אין אַן אַררייַ

געגעבן די מענגע פון די ינטאַדזשערז, אין ינטאַדזשערז, עס וועט נאָר קראָם די 0 ס און 1 ס אין די מענגע. ריעריינדזש די מענגע אַזוי אַז אַלע די זעראָוז וועט זיין שיפטאַד צו די לינקס זייַט פון די מענגע און אַלע די 1 ס עלעמענטן פון די מענגע וועט זיין שיפטאַד צו די רעכט זייַט פון די מענגע. צוליב דעם, מיר וועלן ציילן אַלע זעראָס. אַז נול קאַונץ וועט העלפֿן אונדז אין מאַרקינג די זעראָס אויף די לינקס זייַט פון די מענגע.

דורכפאָר די מענגע פֿאַר די ערשטער מאָל אין די קאָד צו באַקומען די ציילן פון אַלע די זעראָוז אין דעם מענגע. דעם ציילן וועט העלפֿן אונדז אין מאַרקינג אַלע די ציילן נומער פון ערטער פֿון די לינקס זייַט פון די מענגע. דעריבער, מיר וועלן אַריבער די מענגע און טשעק פֿאַר יעדער ווערט פון די אַרר [i], איז עס איז גלייַך צו 0, אויב עס איז געפֿונען צו זיין גלייַך צו 0, דעמאָלט פאַרגרעסערן די ווערט פון ציילן מיט 1. מיר זאָל האָבן דערקלערט און יניטיאַליזעד די ווערט פון ציילן צו 0 איידער איר אַרייַן די שלייף. נאָך דורכפאָר מיר גאַט דער ציילן.

מיר וועלן דורכפירן שלייף ציילן קיין מאָל און צייכן יעדער ווערט פון אַרר [i] פֿון 0th אינדעקס צו דער ציילן -1 נומער פון ערטער. איצט מיר האָבן די זעראָוז אין די לינקס זייַט פון די מענגע. איצט מיר האָבן צו פאָרן די מענגע פֿון דער ציילן ביז n, וווּ n איז די לענג פון די מענגע. סטאַרטינג פון i = ציילן וועלכער די ווערט פון ציילן וועט זיין, האַלטן אַפּדייטינג אַלע די וואַלועס צו 1. נאָך אַלע אַפּעריישאַנז, מיר האָבן די געבעטן מענגע, 0 ס אין די לינקס זייַט פון די מענגע און 1s אין די רעכט זייַט פון די מענגע. .

אָפּשיידן 0 ס און 1 ס אין אַן אַררייַ

ימפּלעמענטאַטיאָן

C ++ פּראָגראַם פֿאַר סעגרעגאַטע 0 ס און 1 ס אין אַ עריי

#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

Java פּראָגראַם פֿאַר סעגרעגאַטע 0 ס און 1 ס אין אַ עריי

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

קאַמפּלעקסיטי אַנאַליסיס פֿאַר סעגרעגאַטע 0 ס און 1 ס אין אַ עריי

צייט קאַמפּלעקסיטי

אָ (N) ווו “N” איז די נומער פון עלעמענטן אין דער מענגע.

ספעיס קאַמפּלעקסיטי

אָ (N) ווו “N” איז די נומער פון עלעמענטן אין דער מענגע.

דערמאָנען