解法一
异或运算的性质:
因此连续异或得到0时,中间分隔可以任意选取,得到的三元组均为符合题意的解。
class Solution {
public int countTriplets(int[] arr) {
int ans = 0;
for (int i = 0; i < arr.length - 1; ++i) {
for (int j = i + 1, x = arr[i]; j < arr.length; ++j) {
x ^= arr[j];
if (x == 0) {
ans += j - i;
}
}
}
return ans;
}
}