Min, max, sum ja kertymät
Kokoa lista yhdellä läpikäynnillä
Min, max, sum ja kertymät on ilmainen Valmistautuminen ohjelmointihaastatteluihin-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Valmistautuminen ohjelmointihaastatteluihin-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Valmistautuminen ohjelmointihaastatteluihin-kurssilla on yhteensä 4 oppituntia.
Aggregoi yhdellä läpikäynnillä
Monissa tehtävissä tarvitaan taulukosta vain yksi luku. Pythonin sisäänrakennetut funktiot tekevät tämän aggregoinnin nopeasti yhdellä listan läpikäynnillä.
a = [4, 1, 7, 3]Laske summa
sum(a) laskee yhteen kaikki alkiot ja palauttaa summan. Se on C-toteutuksensa ansiosta nopea, joten suosikaa sitä oman summaussilmukan kirjoittamisen sijaan.
total = sum(a) # 15Pienin ja suurin
min(a) ja max(a) palauttavat pienimmän ja suurimman arvon. Ne käyvät koko listan kerran läpi ajassa O(n).
lo, hi = min(a), max(a)Vertaa kahta lukua
min ja max hyväksyvät myös erillisiä argumentteja. max(x, y) valitsee suuremman kahdesta arvosta ilman, että listaa tarvitsee ensin rakentaa.
best = max(score, best)Aggregoi avaimen avulla
Välittäkää vertailua varten key-funktio, joka tuottaa vertailuarvon. max(words, key=len) palauttaa pisimmän sanan, ei leksikografisesti suurinta.
longest = max(words, key=len)Käsittele tyhjä lista
min ja max kaatuvat tyhjällä listalla. Välittäkää default= tai tarkistakaa pituus ensin, jotta vältätte suorituksenaikaisen virheen.
hi = max(a, default=0)Kertyvän summan idea
Kertyvä summa pitää summan ajan tasalla taulukkoa läpikäytäessä. Se on prefiksisummien ja monien laskentatekniikoiden perusta.
run = 0
for x in a:
run += xSeuraa tähänastista parasta
Ylläpitäkää tähänastisen parasta kuvaavaa muuttujaa läpikäynnin aikana, niin voitte ratkaista maksimialitaulukon kaltaisia tehtäviä yhdellä läpikäynnillä.
best = a[0]
for x in a:
best = max(best, x)Rakenna prefiksilista
Tallentakaa jokainen kertyvä summa listaan, niin saatte prefiksitaulukon. Myöhemmin voitte laskea välin summan vähentämällä kaksi alkiota toisistaan.
pre = [0]
for x in a:
pre.append(pre[-1] + x)accumulate-oikotie
itertools.accumulate tuottaa kertyvät summat puolestanne, joten prefiksitaulukko syntyy yhdellä luotettavalla rivillä.
from itertools import accumulate
pre = list(accumulate(a))Varo ylivuotoa koskevia myyttejä
Hyvä uutinen: Pythonin kokonaisluvut ovat rajoittamattomia, joten suuret summat eivät koskaan aiheuta ylivuotoa. Todellinen riski on hidas koodi, ei väärä aritmetiikka.
huge = sum(range(10**6)) # finePikatarkistus
Tarvitsette listan pisimmän sanan. Mikä kutsu on oikea?
Kertaus: yhden läpikäynnin teho
Osaatte nyt laskea summia, etsiä ääriarvoja ja ylläpitää kertyviä summia yhdellä läpikäynnillä. Nämä aggregoinnit muuttavat monet taulukko-ongelmat yhdeksi silmukaksi. ✨
Opi Valmistautuminen ohjelmointihaastatteluihin tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 90
- Oppitunnit
- 360
Usein kysytyt kysymykset
Onko oppitunti ”Min, max, sum ja kertymät” ilmainen?
Kyllä – oppitunnin ”Min, max, sum ja kertymät” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Valmistautuminen ohjelmointihaastatteluihin-kurssin, päivitä CoddyKit PROhon. Valmistautuminen ohjelmointihaastatteluihin-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Min, max, sum ja kertymät”?
Kokoa lista yhdellä läpikäynnillä Harjoittelet Valmistautuminen ohjelmointihaastatteluihin-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Valmistautuminen ohjelmointihaastatteluihin-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Valmistautuminen ohjelmointihaastatteluihin-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Min, max, sum ja kertymät”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Valmistautuminen ohjelmointihaastatteluihin-oppitunnilla?
Kyllä. Jokainen Valmistautuminen ohjelmointihaastatteluihin-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Listat, indeksointi ja viipalointi kilpailuohjelmoinnissa
- Taulukoiden nopea rakentaminen comprehensions-rakenteilla
- Min, max, sum ja kertymät
- Etsi indeksi, älä vain arvoa