Valmistautuminen ohjelmointihaastatteluihin · Oppitunti

Min, max, sum ja kertymät

Kokoa lista yhdellä läpikäynnillä

Oppitunti 3/413 vaihetta

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)  # 15

Pienin 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 += x

Seuraa 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))  # fine

Pikatarkistus

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. ✨

Aloita maksutta

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

  1. Listat, indeksointi ja viipalointi kilpailuohjelmoinnissa
  2. Taulukoiden nopea rakentaminen comprehensions-rakenteilla
  3. Min, max, sum ja kertymät
  4. Etsi indeksi, älä vain arvoa
← Takaisin: Valmistautuminen ohjelmointihaastatteluihin