Menu
CoddyTech

Minimum Size Subarray Sum

Ti vengono forniti un intero positivo target e un array nums di interi positivi. Trova il sottarray più corto (una sequenza di elementi adiacenti) la cui somma è almeno target e restituiscine la lunghezza. Se nessun sottarray raggiunge target, restituisci 0.

Funzione

minSubArrayLen(target: integer, nums: integer-array) → integer
targetinteger
la somma che un sottoarray deve raggiungere o superare
numsinteger-array
l'array di numeri interi positivi
Restituisceinteger
la lunghezza della sottosequenza contigua più corta con una somma almeno pari a target, oppure 0 se non ne esiste nessuna

Vincoli

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

Esempi

Input
target = 15nums = [4, 2, 9, 3, 7, 1, 5]
Output
3
Spiegazione
Nessuna coppia di numeri adiacenti raggiunge 15: la coppia più grande è 9 + 3 = 12. Tre numeri sì: 4 + 2 + 9 = 15 e 9 + 3 + 7 = 19, quindi la risposta è 3.

lock icon+16 test nascosti all’invio

challenge icon

Per approfondire

Come lo risolveresti se nums potesse contenere anche zeri e numeri negativi, nel qual caso la finestra scorrevole non funziona più?

Ripristina il codice
def minSubArrayLen(target, nums):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

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

Atteso

3