Verify if Binary Array will be break up into X Subarray with identical bitwise XOR

[ad_1]

  

import java.io.*;

import java.util.*;

  

public class GFG {

  

    

    

    

    public static String examine(int arr[], int n, int x)

    {

        int xor = 0;

        int count0 = 0, count1 = 0;

  

        for (int i = 0; i < n; i++) {

            xor ^= arr[i];

            if (xor == 0)

                count0++;

        }

        if (count0 >= x && xor != 1) {

            return "Sure";

        }

        xor = 0;

        for (int i = 0; i < n; i++) {

            xor ^= arr[i];

            if (xor == 1) {

                count1++;

                xor = 0;

            }

        }

        if (count1 >= x && (count1 - x) % 2 == 0) {

            return "Sure";

        }

        return "No";

    }

  

    

    public static void principal(String[] args)

    {

        int[] A = { 0, 1, 1, 0, 0 };

        int N = A.size;

        int X = 3;

  

        

        System.out.println(examine(A, N, X));

    }

}

[ad_2]

Leave a Reply