896.单调数列

55 阅读1分钟

题目:
如果数组是单调递增或单调递减的,那么它是 单调

如果对于所有 i <= jnums[i] <= nums[j],那么数组 nums 是单调递增的。 如果对于所有 i <= jnums[i]> = nums[j],那么数组 nums 是单调递减的。

当给定的数组 nums 是单调数组时返回 true,否则返回 false
算法:

func isMonotonic(nums []int) bool {
	if len(nums) <= 2 {
		return true
	}
	dist := nums[1] - nums[0]
	for i := 2; i < len(nums); i ++ {
		if nums[i] - nums[i - 1] > 0 {
			if dist == 0 {
				dist = 1
			}
			if dist < 0 {
				return false
			}
		}  else if nums[i] - nums[i - 1] < 0 {
			if dist == 0 {
				dist = -1
			}
			if dist > 0 {
				return false
			}
		}
	}
	return true
}