Skip to content

Commit

Permalink
feat: Add solution challenge 14
Browse files Browse the repository at this point in the history
  • Loading branch information
neftdev committed Dec 14, 2021
1 parent 4fd28c7 commit 2202937
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
22 changes: 22 additions & 0 deletions challenge-14/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Descripción

¡Hemos perdido a un reno y falta poco más de una semana para Navidad! 😱

Lo peor es que son tantos que no sabemos cuál es el que nos falta... ¡Qué lío! A ver, Elfon Musk ha hecho inventario y nos pasa un array con los ids de cada reno.

👍 Lo bueno: los ids son números que pueden ir del 0 al 100, no están repetidos y sólo se ha perdido un reno.

👎 Lo malo: la lista está desordenada y podría faltar el último...

Necesitamos una función que al pasarle la lista de ids de renos nos diga inmediatamente cuál es el que falta:

```js
missingReindeer([0, 2, 3]); // -> 1
missingReindeer([5, 6, 1, 2, 3, 7, 0]); // -> 4
missingReindeer([0, 1]); // -> 2 (¡es el último el que falta!)
missingReindeer([3, 0, 1]); // -> 2
missingReindeer([9, 2, 3, 5, 6, 4, 7, 0, 1]); // -> 8
missingReindeer([0]); // -> 1 (¡es el último el que falta!)
```

Parece fácil con una complejidad de O(n)... ¿crees que podrías hacerlo mejor?
9 changes: 9 additions & 0 deletions challenge-14/solution.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export default function missingReindeer(ids) {
const idMax = Math.max(...ids);
for (let i = 0; i < idMax; i++) {
if (!ids.includes(i)) {
return i;
}
}
return idMax + 1;
}

0 comments on commit 2202937

Please sign in to comment.