06 Move Negative to One Size

GeeksForGeeks Question
Without Preserving Relative Order
void segregateElements(int arr[],int n)
{
    int p1 = 0, p2 = n - 1;
    while(p1 < p2) {
        if(arr[p1] > 0)
            p1++;
        else
            swap(arr[p1], arr[p2--]);
    }
}

Time Complexity: O(n)O(n)

Space Complexity: O(1)O(1)

Preserving Relative Order

Time Complexity: O(n)O(n)

Space Complexity: O(n)O(n)

Last updated