Saltar al contenido

Seguidos y en orden

Enunciado

Sofía anota, en orden, el número de cada camión que pasa por su parada: 2, 4, 3, 5 y 7.

Escribe una función que reciba esa lista larga y otra más corta, y regrese verdadero si la corta aparece dentro de la larga con sus números seguidos y en el mismo orden.

Con 4 y 3 la respuesta es verdadero: pasaron uno tras otro.

Con 3 y 7 es falso, aunque los dos números estén en la lista: entre ellos pasó el 5, así que no van seguidos. Ahí está el chiste del reto. Las reglas: el orden cuenta, así que 3 y 4 tampoco aparecen. La lista corta puede empezar en cualquier parte de la larga, incluso justo al final. Si la corta trae más números que la larga, no cabe y regresas falso. Y la lista corta vacía está contenida en cualquier lista, porque no pide ningún número: en ese caso regresas verdadero.

Ejemplos

  • Uno tras otro

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

  • Están, pero separados

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

  • Ninguno de los dos está

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

  • Justo al final

    [8, 1, 9, 4, 6], [4, 6] → true

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

Empiezas con esto

Python

def contiene(larga, sub):
    pass

JavaScript

function contiene(larga, sub) {
}
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 →