11
« en: 14 de Octubre 2014, 19:13 »
Hola, quisiera dominar los arrayList de arraylist con recursividad y me encontré con un porblema el cual dice así:
"Hay un gusanito viejito y viajero que quiere visitar una zona que esta conformada por varias lomas , sin embargo para el es dificil subir las cuestas enpinadas por muy chicas que sean incluso bajarlas y ha decidido visitar solamente una loma de la zona por lo que se te ha pedido que que le puedas decir cual es la loma cual es la loma que deberia visitar de manera que no implique mucho es fuerzo por el tema de las pendientes, ya sea al subir o al bajar.
Debes considerar que para el gusanito si se tiene una pendiente mayor o igual a p, esa ya no es una loma deseable para el, Debes indicar cual es la loma de mayos superficie que puede visitar y que no incumpla ninguna cuestion de la pendiente. La pendiente entre dos puntos se puede calcular como la diferencia entre ellos.
En definitiva para resolver el problema, te darán la secuencia de numeros que representarán las lomas y la pendiente p que simepre sera un numero entero positivo.
Por Ejemplo:
sec ={3,5,4,3,3,2,3,5,7,8,7,5,3,2,3,5,6,7,3,1,3,7,9,7,1}
p = 3
Entonces hay cuatro posibles lomas de visita:
loma1 = {3,5,4,3,3,2}
loma2 = {2,3,5,7,8,7,5,3,2}
loma3 = {2,3,5,6,7,3,1}
loma4 = {1,3,7,9,7,1}
La loma1 y la loma2 cumplen la condicion de la pendiente, sin embargo la loma 3 y la loma4 no, ya que al bajar la loma de 7 a 3 hay una pendiente mayor a p, lo mismo en la loma 4, subir de 3 a 7, o bajar de 7 a 1 son mayores que p
Entre las lomas validas la mejor es la loma 2 por que cubre mayor superficie por lo que el resultado es : {2,3,5,7,8,7,5,3,2}, en caso de no existir una loma valida para el gusanito el resultado es : {}
Se te pide el o los metodos recursivos para poder encontrar la loma que cumpla con las condiciones del gusanito"
Me costó mucho entender arrayList<ArrayList<Integer>> y con recursividad me perdi si alguien sabe una solucion le agradezco de antemano