两次遍历,一次遍历判断递增,第二次遍历判断递减
代码如下:
func isMonotonic(A []int) bool {
return increasing(A) || decreasing(A)
}
func increasing(A[] int) bool {
for i, aLen := 0, len(A); i + 1 < aLen; i++ {
if A[i] > A[i + 1] {
return false
}
}
return true
}
func decreasing(A[] int) bool {
for i, aLen := 0, len(A); i + 1 < aLen; i++ {
if A[i] < A[i + 1] {
return false
}
}
return true
}