Programa de Python para verificar si la array dada es monotónica

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *