Saltar al contenido

Las antenas que se ven

Enunciado

A cuatro mil metros, sobre una cresta de los Andes, Tomás Quispe cuida una fila de antenas repetidoras. Dos antenas se hablan directo si nada les tapa la línea: toda antena que quede entre ellas tiene que ser más baja que la más baja de las dos; una de en medio igual de alta que esa ya tapa. Dos antenas pegadas, sin nada en medio, siempre se hablan. Escribe una función que reciba alturas, la lista de alturas en el orden de la cresta (enteros mayores que 0, puede traer repetidos y puede venir vacía). Regresa un entero: cuántas parejas de antenas se hablan directo. Cada pareja cuenta una vez. Vacía o con una sola, regresa 0. Con [4, 2, 3, 1, 5], las 4 parejas pegadas cuentan. Además, el 4 y el 3 se ven por encima del 2; el 3 y el 5, por encima del 1, y el 4 y el 5, por encima de 2, 3 y 1. Ni el 4 ni el 2 ven al 1: el 3 no es más bajo que 1. El 2 y el 5 tampoco se ven, porque el 3 los tapa. Regresas 4 + 3 = 7.

Ejemplos

  • El del ejemplo

    [4, 2, 3, 1, 5] → 7

  • Tres iguales

    [3, 3, 3] → 2

  • Van subiendo

    [1, 2, 3, 4] → 3

  • Valle con fondo plano

    [5, 1, 1, 5] → 4

  • Siete antenas

    [2, 7, 4, 7, 1, 3, 6] → 9

  • Solo dos

    [3, 3] → 1

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def enlaces(alturas):
    pass

JavaScript

function enlaces(alturas) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n²)

Ver todos los retos →