Skip to main content
LeetCode 1442, Medium. Topics: Array, Hash Table, Math, Bit Manipulation, Prefix Sum. View on LeetCode. Generate this problem as a practice environment: tested reference solution, 17 parametrized pytest cases, and a playground notebook:

Problem

Given an array of integers arr. We want to select three indices i, j and k where (0 <= i < j <= k < arr.length). Let’s define a and b as follows:
  • a = arr[i] ^ arr[i + 1] ^ ... ^ arr[j - 1]
  • b = arr[j] ^ arr[j + 1] ^ ... ^ arr[k]
Note that ^ denotes the bitwise-xor operation. Return the number of triplets (i, j and k) Where a == b.

Examples

Constraints

  • 1 <= arr.length <= 300
  • 1 <= arr[i] <= 10^8
Follow up: Can you solve it in O(n) time?

Solution

Reference implementation from solution.py on GitHub, full suite in test_solution.py:

Complexity

Tags

NeetCode All.
Last modified on September 7, 2026