fork download
  1. # your code goes here
  2.  
  3. # Python Program to count all subarrays having
  4. # XOR of elements as given value K
  5.  
  6. def subarrayXor(x, k):
  7. res = 0
  8.  
  9. # Pick starting point i of subarrays
  10.  
  11. prefix = [0] * len(x)
  12. prefix[0] = x[0]
  13.  
  14. # 1. Compute prefix XOR array
  15. for i in range(1, len(x)):
  16. prefix[i] = prefix[i-1] ^ x[i]
  17.  
  18. count = 0
  19. # 2. Check all index pairs (i, j)
  20. for j in range(0, len(x)):
  21. if prefix[j] == k:
  22. count += 1
  23. for i in range(0, j):
  24. if prefix[i] == prefix[j] ^ k:
  25. count += 1
  26.  
  27.  
  28. return count
  29.  
  30. if __name__ == "__main__":
  31. arr = [4, 2, 2, 6, 4]
  32. k = 6
  33.  
  34. print(subarrayXor(arr, k))
Success #stdin #stdout 0.07s 13992KB
stdin
Standard input is empty
stdout
4