XOR of every element of an Array with a given number K
Last Updated :
13 Mar, 2022
Given an array arr and a number K, find the new array formed by performing XOR of the corresponding element from the given array with the given number K.
Examples:
Input: arr[] = { 2, 4, 1, 3, 5 }, K = 5
Output: 7 1 4 6 0
Explanation:
2 XOR 5 = 7
4 XOR 5 = 1
1 XOR 5 = 4
3 XOR 5 = 6
5 XOR 5 = 0
Input: arr[] = { 4, 75, 45, 42 }, K = 2
Output: 6 73 47 40
Approach:
- Traverse the given array.
- Then calculate the XOR of each element with K.
- Then store it as the element at that index in the output array.
- Print the updated array.
Below is the implementation of the above approach.
CPP
#include <bits/stdc++.h>
using namespace std;
void constructXORArray( int A[], int n, int K)
{
int B[n];
for ( int i = 0; i < n; i++)
B[i] = A[i] ^ K;
for ( int i = 0; i < n; i++)
cout << B[i] << " " ;
cout << endl;
}
int main()
{
int A[] = { 2, 4, 1, 3, 5 };
int K = 5;
int n = sizeof (A) / sizeof (A[0]);
constructXORArray(A, n, K);
int B[] = { 4, 75, 45, 42 };
K = 2;
n = sizeof (B) / sizeof (B[0]);
constructXORArray(B, n, K);
return 0;
}
|
Java
import java.util.*;
class GFG
{
static void constructXORArray( int A[], int n, int K)
{
int [] B = new int [n];
for ( int i = 0 ; i < n; i++)
B[i] = A[i] ^ K;
for ( int i = 0 ; i < n; i++)
System.out.print( B[i] + " " );
System.out.println();
}
public static void main(String args[])
{
int A[] = { 2 , 4 , 1 , 3 , 5 };
int K = 5 ;
int n = A.length;
constructXORArray(A, n, K);
int B[] = { 4 , 75 , 45 , 42 };
K = 2 ;
n = B.length;
constructXORArray(B, n, K);
}
}
|
Python3
def constructXORArray(A, n, K):
B = [ 0 ] * n;
for i in range (n):
B[i] = A[i] ^ K;
for i in range (n):
print (B[i], end = " " );
print ();
if __name__ = = '__main__' :
A = [ 2 , 4 , 1 , 3 , 5 ];
K = 5 ;
n = len (A);
constructXORArray(A, n, K);
B = [ 4 , 75 , 45 , 42 ];
K = 2 ;
n = len (B);
constructXORArray(B, n, K);
|
C#
using System;
class GFG
{
static void constructXORArray( int []A, int n, int K)
{
int [] B = new int [n];
for ( int i = 0; i < n; i++)
B[i] = A[i] ^ K;
for ( int i = 0; i < n; i++)
Console.Write( B[i] + " " );
Console.WriteLine();
}
public static void Main(String []args)
{
int []A = { 2, 4, 1, 3, 5 };
int K = 5;
int n = A.Length;
constructXORArray(A, n, K);
int []B = { 4, 75, 45, 42 };
K = 2;
n = B.Length;
constructXORArray(B, n, K);
}
}
|
Javascript
<script>
function constructXORArray(A, n, K)
{
let B = new Array(n);
for (let i = 0; i < n; i++)
B[i] = A[i] ^ K;
for (let i = 0; i < n; i++)
document.write(B[i] + " " );
document.write( "</br>" )
}
let A = [ 2, 4, 1, 3, 5 ];
let K = 5;
let n = A.length;
constructXORArray(A, n, K);
let B = [ 4, 75, 45, 42 ];
K = 2;
n = B.length;
constructXORArray(B, n, K);
</script>
|
Output:
7 1 4 6 0
6 73 47 40
Time Complexity: O(n)
Auxiliary Space: O(n)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...