Clojure - Nombre de rotacions T82239


Statement
 

pdf   zip

thehtml
  1. Definiu una funció number-of-rotations que donat un vector ordenat però rotat a la dreta un cert nombre de vegades, retorni quants cops ha estat rotat aquest vector.

    Nota: podeu fer servir la funció .indexOf, que donat un vector i un valor:

    (.indexOf vector valor)

    retorna l’índex on aquest valor apareix per primer cop en el vector, o −1 si el valor no hi és dins el vector.

  2. Definiu una funció fsmap que, donats un element x i una llista fs de funcions, fa que (fsmap x fs) retorni una llista amb les aplicacions successives de les funcions de fs a x. És a dir, la llista resultant ha de contenir x, seguit de (f1 x), (f2 (f1 x)), etc., on f1, f2, ... són les funcions de la llista fs. A més, cal definir fsmap fent servir reductions.
Public test cases
  • Input

    (number-of-rotations [10 2 4 6])
    (number-of-rotations [7 8 10 2 3 4 5 6])
    (number-of-rotations [2 3 4 5 6])
    

    Output

    1
    3
    0
    
  • Input

    (fsmap 3 [(fn [x] (+ 2 x)) (fn [x] (* 3 x)) (fn [x] (+ 4 x))])
    

    Output

    (3 5 15 19)
    
  • Information
    Author
    Jordi Delgado / Gerard Escudero
    Language
    Catalan
    Official solutions
    Clojure
    User solutions
    Clojure