Alle Herausforderungen
Mittel 0 gelöst 0% Erfolgsquote

Größtes Produkt benachbarter Ziffern

Betrachte jedes zusammenhängende Fenster aus span Ziffern und multipliziere dessen Ziffern.

Betrachte jedes zusammenhängende Fenster aus span Ziffern und multipliziere dessen Ziffern. Gib das größte Produkt zurück. Führende Nullen sind gewöhnliche Ziffern; ein Fenster mit einer Null ergibt das Produkt Null. Die Ziffern dürfen weder umgeordnet noch übersprungen werden.

Implementiere largest_adjacent_digit_product(digits, span).

Eingabe

digits: Die Ziffernfolge, einschließlich etwaiger führender Nullen.

span: Die genaue Anzahl benachbarter Ziffern in einem Fenster.

Ausgabe

Gib das größte Produkt aller Fenster dieser Breite zurück.

Einschränkungen

1 ≤ Länge der Ziffernfolge ≤ 100.000. Zeichen sind 0…9. 1 ≤ span ≤ min(18, Länge). Alle Produkte passen in ein vorzeichenbehaftetes 64-Bit-Integer.

Beispiele

Beispiel 1
Eingabe:
span = 2
digits = "23405"

Erwartete Ausgabe:
expected = 12
Eingabe:
long long span = 2;
std::string digits = "23405";

Erwartete Ausgabe:
long long expected = 12;
Eingabe:
long span = 2;
string digits = "23405";

Erwartete Ausgabe:
long expected = 12;

Erläuterung

Die Fenster 23, 34, 40 und 05 haben die Produkte 6, 12, 0 und 0. Das größte ist 12.

Beispiel 2
Eingabe:
span = 3
digits = "102"

Erwartete Ausgabe:
expected = 0
Eingabe:
long long span = 3;
std::string digits = "102";

Erwartete Ausgabe:
long long expected = 0;
Eingabe:
long span = 3;
string digits = "102";

Erwartete Ausgabe:
long expected = 0;

Erläuterung

Es gibt nur ein Fenster der Breite drei. Es enthält eine Null, daher 1 × 0 × 2 = 0.

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.