Alle Herausforderungen
Mittel 0 gelöst 0% Erfolgsquote

Kleinste fehlende Münzsumme

Finde den kleinsten positiven Betrag, der sich mit den verfügbaren Münzen nicht bilden lässt.

Du kannst beliebige Teilmengen der gegebenen Münzen auswählen. Jede einzelne Münze darf höchstens einmal verwendet werden, auch wenn mehrere Münzen denselben Wert haben. Finde die kleinste positive ganze Zahl, die durch keine Auswahl gebildet werden kann.

Implementiere missing_coin_sum(coins).

Eingabe

coins: Die Werte der verfügbaren Münzen; Duplikate stehen für verschiedene Münzen.

Ausgabe

Gib den kleinsten positiven unmöglichen Betrag zurück.

Einschränkungen

1 ≤ Anzahl der Münzen ≤ 200.000. Jeder Wert liegt zwischen 1 und 1.000.000.000.

Beispiele

Beispiel 1
Eingabe:
coins = [1, 1, 4]

Erwartete Ausgabe:
expected = 3
Eingabe:
std::vector<long long> coins = {1, 1, 4};

Erwartete Ausgabe:
long long expected = 3;
Eingabe:
long[] coins = new long[] {1, 1, 4};

Erwartete Ausgabe:
long expected = 3;

Erläuterung

Die Beträge 1 und 2 können mit den Einser-Münzen gebildet werden. Keine verfügbare Teilmenge ergibt 3.

Beispiel 2
Eingabe:
coins = [2, 3]

Erwartete Ausgabe:
expected = 1
Eingabe:
std::vector<long long> coins = {2, 3};

Erwartete Ausgabe:
long long expected = 1;
Eingabe:
long[] coins = new long[] {2, 3};

Erwartete Ausgabe:
long expected = 1;

Erläuterung

Es gibt keine Möglichkeit, 1 zu bilden, da jede Münze mindestens den Wert 2 hat.

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.