Maximum XOR subarray
1 min readMay 14, 2021
Given an array of integers of size N find subarray with maximum xor. A subbarray is a contiguous part of array.
Example 1:
Input:
N = 4
arr[] = {1,2,3,4}
Output: 7
Explanation:
The subarray {3,4} has maximum xor
value equal to 7.
Your Task:
You don’t need to read input or print anything. Your task is to complete the function maxSubarrayXOR() which takes the array arr[], its size N as input parameters and returns the maximum xor of any subarray.
Expected Time Complexity: O(N)
Expected Auxiliary Space: O(N)
Constraints:
1 <= N <= 105
1 <= arr[i] <= 105
from functools import reduce
def sub_lists_XOR(arr):
ans = -1
for i in range(len(arr) + 1):
for j in range(i):
ans = max(ans,reduce(lambda x, y: x ^ y, arr[j: i]))
return ans
l1 = [1, 2, 3,4]
print(sub_lists_XOR(l1))
#######--------or--------#######
def maxSubarrayXOR(arr):
N = len(arr)
ans = -1
for i in range(N):
xor = 0
for j in range(i, N):
xor = xor ^ arr[j]
ans = max(ans, xor)
return ans
l1 = [1, 2, 3,4]
print(maxSubarrayXOR(l1))