Binary array partition
If it is possible, return any [i, j], such that
* Z[0], Z[1], ..., Z[i] is the first part;
* Z[i+1], Z[i+2], ..., Z[j-1] is the second part, and
* Z[j], Z[j+1], ..., Z[Z.length - 1] is the third part.
* All three parts have equal binary value.