Todos los desafíos
Intermedio 0 resueltos 0% de aceptación

Suma de Moneda Más Pequeña Imposible

Encuentra la primera cantidad positiva que no se puede formar con las monedas disponibles.

Puedes seleccionar cualquier subconjunto de las monedas proporcionadas. Cada moneda individual puede usarse como máximo una vez, incluso si hay varias monedas con el mismo valor. Encuentra el menor entero positivo que no pueda obtenerse con ninguna selección.

Implementa missing_coin_sum(coins).

Entrada

coins: Los valores de las monedas disponibles; los duplicados representan monedas distintas.

Salida

Devuelve la menor cantidad positiva imposible de obtener.

Restricciones

1 ≤ número de monedas ≤ 200,000. Cada valor está entre 1 y 1,000,000,000.

Ejemplos

Ejemplo 1
Entrada:
coins = [1, 1, 4]

Salida esperada:
expected = 3
Entrada:
std::vector<long long> coins = {1, 1, 4};

Salida esperada:
long long expected = 3;
Entrada:
long[] coins = new long[] {1, 1, 4};

Salida esperada:
long expected = 3;

Explicación

Las cantidades 1 y 2 se pueden formar usando las monedas de valor uno. No existe ningún subconjunto disponible que sume 3.

Ejemplo 2
Entrada:
coins = [2, 3]

Salida esperada:
expected = 1
Entrada:
std::vector<long long> coins = {2, 3};

Salida esperada:
long long expected = 1;
Entrada:
long[] coins = new long[] {2, 3};

Salida esperada:
long expected = 1;

Explicación

No hay forma de obtener 1 porque todas las monedas valen al menos 2.

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.