All of the provided implementations fail for `[2,3,1,2]`.

Basically you want something like: _(Python-like pseudodode)_

    count = 0
    for i = 1 to length(arr)-1:
      if arr[i-1] >= arr[i]:
        count += 1
        # Preceding number is greater than this one -- make sure
        # all numbers before the preceding are less than this one.
        for j = 0 to i-2:
          if arr[j] >= arr[i]:
            return false
    return count == 1