Mayores que la mitad

Definir la función

tal que (mayoresMitad xs) es la lista de los elementos de xs que son mayores que la mitad de los elementos de xs, suponiendo que los elementos de xs son distintos. Por ejemplo,

Nota: Se considera que si la lista tiene 2n+1 elementos, su mitad tiene n elementos.

Soluciones

8 Comentarios

  1. Mejor que ordenar ascendentemente es hacerlo descendentemente ya que la implementación perezosa no ordenará la mitad derecha y será un poco más rápida:

    Sin embargo, calcular el elemento k-ésimo de la lista ordenada (sin ordenarla) tiene coste lineal (aunque con constante multiplicativa muy alta por lo que es raramente usado). En este caso, para listas grandes obtener la media sale rentable frente a la pequeña constante multiplicativa de usar sort:

    Para ver la ventaja la lista debe ser grande:

Escribe tu solución