Golang solution
\nfunc reinitializePermutation(n int) int {\n\tperm := make([]int, n)\n\tres := 0\n\n\tfor i := 0; i < n; i++ { perm[i] = i }\n\t\n\tarr := perm\n\n\tfor res ==
```\nfunc reinitializePermutation(n int) int {\n\tperm := make([]int, n)\n\tres := 0\n\n\tfor i := 0; i < n; i++ { perm[i] = i }\n\t\n\tarr := perm\n\n\tfor res == 0 || !reflect.DeepEqual(arr, perm) {\n\t\ttemp := make([]int, n)\n\t\tfor i := 0; i < len(arr); i++ {\n\t\t\tif i % 2 == 1 { temp[i] = arr[n / 2 + (i - 1) / 2] } else { temp[i] = arr[i / 2] }\n\t\t}\n\t\tarr = temp\n\t\tres++\n\t}\n\treturn res\n}\n```
['Go']