1299.go 587 B

1234567891011121314151617181920212223242526272829303132333435
  1. package main;
  2. import (
  3. "os"
  4. "fmt"
  5. )
  6. func replaceElements(arr []int) []int {
  7. if len(arr) == 1 { return []int{-1} }
  8. var arr_size int = len(arr)
  9. var ret []int = make([]int, arr_size)
  10. var max int = 0
  11. var i int = arr_size - 1
  12. for ; i > 0; i -= 1 {
  13. ret[i] = max
  14. if arr[i] > max { max = arr[i] }
  15. }
  16. ret[0] = max
  17. ret[arr_size-1] = -1
  18. return ret
  19. }
  20. func main() {
  21. r := func (arr []int, exp []int) {
  22. fmt.Printf("replaceElements(%v) = %v | exp: %v\n", arr, replaceElements(arr), exp)
  23. }
  24. r([]int{17,18,5,4,6,1}, []int{18,6,6,6,1,-1})
  25. r([]int{400}, []int{-1})
  26. os.Exit(0)
  27. }