package main import "fmt" // FindPeak finds the peak element in the array func findPeak(arr []int) int { n := len(arr) // first or last element is peak element if n == 1 { return 0 } if arr[0] >= arr[1] { return 0 } if arr[n-1] >= arr[n-2] { return n - 1 } // check for ever other element for i := 1; i < n-1; i++ { // check if the neighbors are smaller if arr[i] >= arr[i-1] && arr[i] >= arr[i+1] { return i } } return -1 // inficating no peak found } func main() { arr := []int{1, 3, 20, 4, 1, 21, 0} fmt.Println("Index of a peak point is", findPeak(arr)) }