Menu
CoddyTech

Minimum Size Subarray Sum

Du erhältst eine positive Ganzzahl target und ein Array nums aus positiven Ganzzahlen. Finde das kürzeste Teilarray (eine Folge benachbarter Elemente), dessen Summe mindestens target beträgt, und gib seine Länge zurück. Wenn kein Teilarray target erreicht, gib 0 zurück.

Funktion

minSubArrayLen(target: integer, nums: integer-array) → integer
targetinteger
die Summe, die ein Teilarray erreichen oder überschreiten muss
numsinteger-array
das Array positiver Ganzzahlen
Gibt zurückinteger
die Länge des kürzesten Teilarrays mit einer Summe von mindestens target oder 0, falls keines existiert

Einschränkungen

  • 1 ≤ target ≤ 109
  • 1 ≤ nums.length ≤ 2 × 104
  • 1 ≤ nums[i] ≤ 104

Beispiele

Eingabe
target = 15nums = [4, 2, 9, 3, 7, 1, 5]
Ausgabe
3
Erklärung
Keine zwei benachbarten Zahlen erreichen 15: Das größte Paar ist 9 + 3 = 12. Drei erreichen es: 4 + 2 + 9 = 15 und 9 + 3 + 7 = 19, also lautet die Antwort 3.

lock icon+16 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Wie würdest du das lösen, wenn nums auch Nullen und negative Zahlen enthalten könnte, sodass das gleitende Fenster nicht mehr funktioniert?

Code zurücksetzen
def minSubArrayLen(target, nums):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

target = 15
nums = [4, 2, 9, 3, 7, 1, 5]

Erwartet

3