Min, max, somma e totali progressivi
Aggregare una lista in un’unica passata
Min, max, somma e totali progressivi è una lezione Coding Interview Prep gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Coding Interview Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Coding Interview Prep include 4 lezioni in totale.
Aggregare in un solo passaggio
Molti problemi richiedono semplicemente un unico numero ottenuto da un array. Le funzioni integrate di Python eseguono questa aggregazione in un solo passaggio veloce sulla lista.
a = [4, 1, 7, 3]Calcolare la somma
sum(a) somma ogni elemento e restituisce il totale. È veloce quanto il C, quindi lo preferisca alla scrittura di un ciclo di accumulo personalizzato.
total = sum(a) # 15Il minimo e il massimo
min(a) e max(a) restituiscono rispettivamente il valore più piccolo e quello più grande. Scorrono l'intera lista una sola volta, in tempo O(n).
lo, hi = min(a), max(a)Confrontare due numeri
min e max accettano anche argomenti separati. max(x, y) sceglie il maggiore tra due valori senza creare prima una lista.
best = max(score, best)Aggregare con una chiave
Passi una funzione key per confrontare in base a un valore derivato. max(words, key=len) restituisce la parola più lunga, non quella massima in ordine lessicografico.
longest = max(words, key=len)Gestire la lista vuota
min e max generano un errore su una lista vuota. Passi default= oppure controlli prima la lunghezza per evitare un errore a runtime.
hi = max(a, default=0)L'idea dei totali progressivi
Un totale progressivo mantiene una somma mentre percorre l'array. È il punto di partenza delle somme prefisse e di molti metodi di conteggio.
run = 0
for x in a:
run += xTenere traccia del miglior risultato
Mantenga una variabile best-so-far durante la scansione per risolvere in un solo passaggio problemi dello stile del massimo sottarray.
best = a[0]
for x in a:
best = max(best, x)Costruire una lista di prefissi
Salvi ogni totale progressivo in una lista per ottenere un array dei prefissi. In seguito potrà calcolare le somme di intervalli sottraendo due elementi.
pre = [0]
for x in a:
pre.append(pre[-1] + x)La scorciatoia accumulate
itertools.accumulate produce per Lei i totali progressivi, così l'array dei prefissi diventa una sola riga affidabile.
from itertools import accumulate
pre = list(accumulate(a))Attenzione ai falsi miti sull'overflow
Buone notizie: gli interi di Python sono illimitati, quindi le somme molto grandi non vanno mai in overflow. Il vero rischio è un codice lento, non un'aritmetica errata.
huge = sum(range(10**6)) # fineVerifica rapida
Le serve la parola più lunga in una lista. Quale chiamata è corretta?
Riepilogo: la potenza di un solo passaggio
Ora sa sommare, trovare estremi e mantenere totali progressivi in un'unica scansione. Queste aggregazioni trasformano molti problemi sugli array in un solo ciclo. ✨
Domande Frequenti
La lezione «Min, max, somma e totali progressivi» è gratuita?
Sì — il testo completo di «Min, max, somma e totali progressivi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Coding Interview Prep, passa a CoddyKit PRO. Il corso Coding Interview Prep include 4 lezioni in totale.
Cosa imparerò in «Min, max, somma e totali progressivi»?
Aggregare una lista in un’unica passata Eserciti Coding Interview Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Coding Interview Prep?
Non è richiesta alcuna esperienza precedente. Coding Interview Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Min, max, somma e totali progressivi»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Coding Interview Prep?
Sì. Ogni lezione Coding Interview Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Liste, indicizzazione e slicing per la programmazione competitiva
- Creare rapidamente array con le comprehension
- Min, max, somma e totali progressivi
- Trovare l’indice, non solo il valore