func validMountainArray(arr []int) bool { n := len(arr) if n < 3 { return false } isUp := true for i := 1; i < n; i++ { if arr[i - 1] < arr[i] { if !isUp { return false } } else if arr[i - 1] > arr[i] { if i == 1 { return false } isUp = false } else { return false } } return !isUp}
有效的山脉数组 - 双指针
func validMountainArray(arr []int) bool { n := len(arr) if n < 3 { return false } left, right := 0, n - 1 for left < n - 1 && arr[left] < arr[left + 1] { left++ } for right > 0 && arr[right] < arr[right - 1] { right-- } return left == right && left != 0 && right != n - 1}