-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path08_Existe_suma_recursivo.js
39 lines (31 loc) · 1.1 KB
/
08_Existe_suma_recursivo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
En este reto partimos de un conjunto de enteros positivos (le llamaremos lista) y un entero (le llamaremos suma). Se trata de encontar esi existe algún subconjunto de lista suyos componentes sumen el valor de suma
La idea es resolverlo mediante una función recursiva. Echa un vistazo a la solución dinámica si necesitas orientarte.
Ejemplos de la función:
existeSuma([3,4,2,8,7], 6) -> true
existeSuma([3,4,2,8,7], 26) -> false
existeSuma([4], 4) -> true
*/
lista = [4];
suma = 4;
function existeSuma(lista, suma){
buffer = 0;
for (let i = 0; i < lista.length; i++) {
const numero1 = lista[i];
if (numero1==suma){
return true
}else if(numero1<suma){
buffer = numero1;
for (let j = i+1; j < lista.length; j++) {
const numero2 = lista[j];
if(buffer+numero2==suma) {
return true
}else if(buffer+numero2<suma){
buffer = buffer+numero2
}
}
}
}
return false
}
console.log(existeSuma(lista, suma));