Knowee
Questions
Features
Study Tools

You are given an array of 0's and 1's. Sort the array in ascending order and print it.Note: Solve using two-pointer technique.Input FormatFirst line of input contains T - the number of test cases. Its followed by 2T lines, the first line contains N - the size of the array.The second line contains the elements of the array.Constraints1 <= T <= 10001 <= N <= 10000 <= A[i] <= 1Output FormatFor each test case, sort the array in ascending order and print it on a new line.Sample Input 0250 1 1 0 161 1 1 1 1 0Sample Output 00 0 1 1 10 1 1 1 1 1Explanation 0

Question

You are given an array of 0's and 1's. Sort the array in ascending order and print it.Note: Solve using two-pointer technique.Input FormatFirst line of input contains T - the number of test cases. Its followed by 2T lines, the first line contains N - the size of the array.The second line contains the elements of the array.Constraints1 <= T <= 10001 <= N <= 10000 <= A[i] <= 1Output FormatFor each test case, sort the array in ascending order and print it on a new line.Sample Input 0250 1 1 0 161 1 1 1 1 0Sample Output 00 0 1 1 10 1 1 1 1 1Explanation 0

...expand
🧐 Not the exact question you are looking for?Go ask a question

Solution

The problem is asking to sort an array of 0's and 1's in ascending order using the two-pointer technique. Here is a step-by-step solution in Python:

  1. First, initialize two pointers, left and right. left is initialized as 0, which is the starting index of the array, and right is initialized as n-1, which is the last index of the array.

  2. Run a while loop until left is less than or equal to right.

  3. In the while loop, check if the left element is 0. If it is, then just increase the left pointer, because 0 is at its correct position (at the start of the array).

  4. If the left element is 1, then check if the right element is 0. If it is, then swap the left and right elements and increase the left pointer and decrease the right pointer.

  5. If the right element is not 0, then just decrease the right pointer.

  6. Repeat steps 3 to 5 until left is not less than or equal to right.

  7. Print the sorted array.

Here is the Python code for the above steps:

T = int(input())
for _ in range(T):
    N = int(input())
    arr = list(map(int, input().split()))
    left, right = 0, N - 1
    while left <= right:
        if arr[left] == 0:
            left += 1
        else:
            if arr[right] == 0:
                arr[left], arr[right] = arr[right], arr[left]
                left += 1
            right -= 1
    print(*arr)

This code reads the number of test cases, then for each test case, it reads the size of the array and the array itself. It sorts the array using the two-pointer technique and then prints the sorted array.

This problem has been solved

Similar Questions

You are given an array of integers. Sort them by frequency. See examples for more clarifications.Input FormatThe first line of input contains T - the number of test cases. It's followed by 2T lines, the first line contains N - the size of the array. The second line contains the elements of the array.Output FormatFor each test case, print the elements of the array sorted by frequency. In case 2 elements have the same frequency, print the smaller element first.Constraints1 <= T <= 1001 <= N <= 10000-1000 <= A[i] <= 1000ExampleInput264 -2 10 12 -8 48176 -272 -272 -45 269 -327 -945 176Output-8 -2 10 12 4 4-945 -327 -45 269 -272 -272 176 176

Implement Insertion Sort and print the index at which the ith element gets inserted [i>=1].Input FormatThe first line of input contains T - the number of test cases. It's followed by 2T lines. The first line of each test case contains N - the size of the array. The next line contains N integers - elements of the array.Output FormatFor each test case, print the index at which the ith element gets inserted [i>=1], separated by space. Separate the output of different tests by a new line.Constraints1 <= T <= 1002 <= N <= 100-1000 <= ar[i] <= 1000ExampleInput48176 -272 -272 -45 269 -327 -945 1762-274 1617274 204 -161 481 -606 -767 -3512154 -109Output0 1 2 4 0 0 610 0 3 0 0 20

Implement Selection Sort and print the index which gets swapped at each step.Input FormatThe first line of input contains T - the number of test cases. It's followed by 2T lines. The first line of each test case contains N - the size of the array. The next line contains N integers - elements of the array.Output FormatFor each test case, print the index which gets swapped at each step, separated by space. Separate the output of different tests by a new line.Constraints1 <= T <= 1002 <= N <= 100-1000 <= ar[i] <= 1000ExampleInput68176 -272 -272 -45 269 -327 -945 1762-274 1617274 204 -161 481 -606 -767 -3512154 -10945 3 1 5440 10 20 40Output4 0 4 3 1 2 113 0 1 2 2 100 0 10 0 0

Given an array of unique integer elements, print all the subsets of the given array in lexicographical order.Input FormatThe first line of input contains T - the number of test cases. It's followed by 2T lines, the first line contains N - the size of the array and the second line contains the elements of the array.Output FormatFor each test case, print the subsets of the given array in lexicographical order, separated by new line. Print an extra newline between output of different test cases.Constraints1 <= T <= 1001 <= N <= 100 <= A[i] <= 100ExampleInput335 15 3 257 96 43 15 8 23 Output3 3 5 3 5 15 3 15 5 5 15 15 57 57 96 96 3 3 8 3 8 15 3 8 15 23 3 8 23 3 15 3 15 23 3 23 8 8 15 8 15 23 8 23 15 15 23 23

You work in the examination department of a school, and you've been given a task to sort the test scores of students in ascending order. The scores are stored in a list where each element represents the score of a student.Input FormatThe first line contains the integer N, the size of the array. The next line contains N space-separated integers.Constraints• 1<=N<=1000 • -1000<=a[i]<=1000Output FormatPrint the array as a row of space-separated integers in each iteration.Sample Input 01010 9 8 7 6 5 4 3 2 1Sample Output 05 9 8 7 6 10 4 3 2 15 4 8 7 6 10 9 3 2 15 4 3 7 6 10 9 8 2 15 4 3 2 6 10 9 8 7 15 4 3 2 1 10 9 8 7 63 4 5 2 1 10 9 8 7 63 2 5 4 1 10 9 8 7 61 2 3 4 5 10 9 8 7 61 2 3 4 5 10 9 8 7 61 2 3 4 5 10 9 8 7 61 2 3 4 5 8 9 10 7 61 2 3 4 5 8 7 10 9 61 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10

1/3

Upgrade your grade with Knowee

Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.