Python simple solution
If the solution exists, the number of 1 in list should be times of 3.\nSearch from right side to left, until we found num/3 1s. This index is not final answer, 
If the solution exists, the number of 1 in list should be times of 3.\nSearch from right side to left, until we found num/3 1s. This index is not final answer, but we find the binary value.\nFrom left side to right, find the first 1s and compare whether the first part value equal to bianay value and so on.\n\n```python\n    def threeEqualParts(self, A: List[int]) -> List[int]:\n        cnt1 = A.count(1)\n        if cnt1%3 !=0:\n            return [-1,-1]\n        if cnt1 == 0:\n            return [0,len(A)-1]\n            \n        cnt, binary_value = 0, 0\n        # the binary value has been anchored\n        for i in range(len(A)-1,-1,-1):\n            if A[i]:\n                cnt += 1\n                if cnt == cnt1//3:\n                    binary_value = A[i:]\n                    length = len(binary_value)\n                    break\n        \n        for i in range(0,len(A)):\n            if A[i]:\n                if A[i:i+length] == binary_value:\n                    secondPart_startdx = i+length\n                    for j in range(secondPart_startdx,len(A)):\n                        if A[j]:\n                            if A[j:j+length] == binary_value:\n                                return [secondPart_startdx-1,j+length]\n                            return [-1,-1]\n                return [-1,-1]           \n        return [-1,-1]\n```
[]