Dada una array A que contiene n enteros. La tarea es verificar si la array es monotónica o no. Una array es monótona si es monótona creciente o monótona decreciente .
Una array A es monótona creciente si para todo i <= j, A[i] <= A[j] . Una array A es monótona decreciente si para todo i <= j, A[i] >= A[j] .
Devuelve » Verdadero » si la array A dada es monótona; de lo contrario, devuelve » Falso » (sin comillas).
Ejemplos:
Input : 6 5 4 4 Output : true Input : 5 15 20 10 Output : false
Enfoque:
una array es monótona si y solo si es monótona creciente o monótona decreciente . Dado que p <= q y q <= r implica p <= r . Entonces, solo necesitamos verificar los elementos adyacentes para determinar si la array es monótona creciente (o decreciente), respectivamente. Podemos verificar cada una de estas propiedades en un solo paso.
Para verificar si una array A es monótonamente creciente , verificaremos A[i] <= A[i+1] para todas las indexaciones de 0 a len(A)-2. De manera similar, podemos verificar la disminución monótona donde A[i] >= A[i+1] para todos los índices i desde 0 hasta len(A)-2.
Nota:La array con un solo elemento se puede considerar tanto monotónica creciente como decreciente , por lo tanto, devuelve » Verdadero «.
A continuación se muestra la implementación del enfoque anterior:
Python3
# Python3 program to find sum in Nth group # Check if given array is Monotonic def isMonotonic(A): return (all(A[i] <= A[i + 1] for i in range(len(A) - 1)) or all(A[i] >= A[i + 1] for i in range(len(A) - 1))) # Driver program A = [6, 5, 4, 4] # Print required result print(isMonotonic(A)) # This code is written by # Sanjit_Prasad
Producción:
True
Complejidad de tiempo: O(N), donde N es la longitud de la array.
Publicación traducida automáticamente
Artículo escrito por Sanjit_Prasad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA