package main; import ( "os" "fmt" ) func replaceElements(arr []int) []int { if len(arr) == 1 { return []int{-1} } var arr_size int = len(arr) var ret []int = make([]int, arr_size) var max int = 0 var i int = arr_size - 1 for ; i > 0; i -= 1 { ret[i] = max if arr[i] > max { max = arr[i] } } ret[0] = max ret[arr_size-1] = -1 return ret } func main() { r := func (arr []int, exp []int) { fmt.Printf("replaceElements(%v) = %v | exp: %v\n", arr, replaceElements(arr), exp) } r([]int{17,18,5,4,6,1}, []int{18,6,6,6,1,-1}) r([]int{400}, []int{-1}) os.Exit(0) }