Yuav ua li cas kuv yeej 3 tawm ntawm 4 kub medals ntawm lub Computer Olympiad
Kuv tab tom npaj rau Google HashCode World Championship Finals 2017. Qhov no yog qhov kev sib tw loj tshaj plaws nrog cov teeb meem algorithmic tsim los ntawm Google.
Kuv pib kawm C++ los ntawm kos hauv qib cuaj. Kuv tsis paub dab tsi txog programming, algorithms lossis cov qauv ntaub ntawv. Qee lub sij hawm kuv tau sau kuv thawj kab ntawm code. Xya lub hlis tom qab, qhov kev sib tw programming loomed ntawm lub qab ntug. Kuv xav pom tias kuv txoj kev kawm kev kawm ua haujlwm tau zoo npaum li cas. Nws yog lub sijhawm zoo kawg nkaus.
Tom qab ob hnub ntawm kev sib tw, cov txiaj ntsig tau tuaj: Kuv yeej tau txais txiaj ntsig kub.
Kuv xav tsis thoob. Kuv tau ua ntej ntawm cov neeg sib tw nrog 5 xyoo kev paub. Kuv paub tias kuv tau ua haujlwm hnyav, tab sis qhov kev ua tiav no tau dhau tag nrho kuv qhov kev cia siab. Kuv pom tau hais tias kev ua kis las yog kuv lub ntsiab lus thiab nquab mus rau hauv nws lub taub hau ntev.
Kuv paub dab tsi coj kuv mus rau kev vam meej thiab kuv xav qhia rau koj.
Thaum koj nrhiav nws, nco ntsoov ob lub hauv paus ntsiab lus:
Koj cov cai yuav tsum yooj yim rau kev siv. Koj yuav tsum tau ua tib zoo siv qhov kev daws teeb meem uas koj tuaj nrog. Vim li cas? Vim tias thaum muaj kev sib tw, qhov kawg uas koj xav tau yog kom poob hauv koj cov cai. Nws yog ib txwm zoo dua los siv 5 feeb ntxiv los xav txog yuav ua li cas kom yooj yim rau kev siv cov cai tshaj li siv 10 feeb sim kom paub meej.
Koj cov cai yuav tsum yooj yim nyeem. Thaum code yooj yim nyeem, nws yooj yim rau kev debug. Cia peb fim nws- kab mob tshwm sim txhua lub sijhawm. Koj paub qhov kev xav ntawd thaum koj muaj 10 feeb thiab koj nrhiav tsis tau qhov yuam kev? Tau kawg koj ua. Txhawm rau zam qhov teeb meem no, sau cov cai uas tau raug cai. Thaum koj pib debugging nws, cov cai yuav zoo li ntuj thiab yooj yim to taub.
Pib nrog lub hauv paus algorithms thiab cov qauv ntaub ntawv
Nws nyuaj rau pib. Tej zaum vim koj tsis paub yuav kawm ua ntej. Yog vim li cas Kuv tsim cov chav kawm video "Algorithms thiab Cov Qauv Cov Ntaub Ntawv". Thaum tsim cov chav kawm no, kuv ua raws li qhov kuv xav qhia. Cov tshuaj tiv thaiv zoo kawg! Ntau tshaj 3000 tus tub ntxhais kawm los ntawm ntau dua 100 lub teb chaws tau kos npe rau chav kawm thawj lub hlis.
Yog tias koj ua haujlwm daws teeb meem yooj yim, koj yuav tsis txhim kho.
Txoj hauv kev zoo tshaj plaws kom nkag siab txog yam koj tsis paub yog kom paub txog nws hauv kev xyaum. Kuv kawm li ntawd. Kuv kawm ntau yam tshiab uas kuv tsis tau hnov dua los ntawm kev xaiv txoj haujlwm nyuaj.
Txhua qhov teeb meem thib peb uas koj ua haujlwm yuav tsum qhia koj qee yam tshiab. Ceev faj ntxiv thaum xaiv cov teeb meem. Xaiv cov teeb meem nyuaj dua!
Thaum koj ua tiav 250 qhov teeb meem no los ntawm SPOJ, koj yuav muaj kev nkag siab yooj yim ntawm cov ntsiab lus tseem ceeb ntawm kev ua kis las. Nrog kev nkag siab tob txog cov laj thawj hauv qab cov txheej txheem algorithms, qib siab algorithms yuav zoo li tsis yooj yim. Txoj kev no koj tuaj yeem ua rau koj qhov kev paub ntau tshaj plaws.
Khawb tob rau hauv txhua lub ntsiab lus tseem ceeb
Ntawm no yog ib qho khoom muaj nqis nrog ntau cov ntaub ntawv. Nyob ntawd koj yuav pom 10 algorithms saum toj kawg nkaus thiab cov qauv ntaub ntawv rau txhua lub ncauj lus. Tom qab 250 teeb meem los ntawm SPOJ, koj yuav paub ntau yam los ntawm cov npe no. Tab sis koj kuj yuav dawm rau ntau yam uas koj tsis tau hnov dua ua ntej. Yog li pib kawm cov ncauj lus no hauv kev nce qib.
Yog tias koj tsis ntxiv dag zog rau koj txoj kev paub tom qab kawm qee yam tshiab, koj yuav hnov qab sai sai.
Kuv pom zoo tias tom qab koj kawm cov algorithm tshiab, siv nws hauv kev xyaum. Ua haujlwm nws los ntawm 2-3 txoj haujlwm. Nrhiav algorithm tag hauv SPOJ. Nyob ntawd koj yuav pom cov teeb meem uas xav tau no algorithm los daws. Hais txog cov teeb meem no ua ntej.
Master Dynamic Programming Vim Nws Yuav Coj Koj mus rau Kev yeej
Los ntawm kuv qhov kev paub dhau los, txhua qhov kev sib tw muaj tsawg kawg yog ib qho teeb meem dynamic programming. Ntau tus neeg mob taub hau thaum lawv hnov cov kab lus "dynamic programming" vim lawv tsis nkag siab nws kiag li.
Thiab qhov no yog qhov zoo. Vim yog tias koj nkag siab qhov programming dynamic, ces koj yuav yeej.
Kuv nyiam dynamic programming, nws yog kuv lub ntsiab lus nyiam. Qhov zais cia ntawm kev ua haujlwm dynamic yog ua kom muaj kev xaiv zoo thoob ntiaj teb, tsis yog cov hauv zos xwb. Koj yuav tsum rhuav tshem qhov teeb meem mus rau hauv cov teeb meem yooj yim dua. daws txhua qhov teeb meem no ib zaug xwb. Tom qab ntawd tsim ib qho kev daws teeb meem uas muab cov teeb meem daws teeb meem. Greedy algorithm - qhov opposite ntawm dynamic programming. Nws yuav tsum tau xaiv qhov zoo tshaj plaws hauv zos ntawm txhua kauj ruam. Thiab qhov kev xaiv zoo tshaj plaws hauv zos tuaj yeem ua rau lub ntiaj teb tsis zoo.
Koj puas tau hnov txog cov neeg ncaws pob uas yeej Olympics yam tsis muaj kev xyaum? Kuv tsis.
Txhua xyoo, kev npaj rau Computer Olympiad pib thaum lub Cuaj Hli thiab xaus rau lub Plaub Hlis.
Txhua hnub rau 8 lub hlis no kuv tau xyaum 5 teev.
Thiab yog, kuv siv 5 teev no tsuas yog daws teeb meem algorithmic. Kuv nco qab cov hnub uas kuv xyaum 8 thiab 10 teev. Vim li cas? Vim kuv nyiam nws. Txhua txhua hnub thaum kuv rov qab los tsev los ntawm tsev kawm ntawv, kuv mus ncaj nraim mus rau chav pw, zaum ntawm lub computer thiab pib txheeb xyuas qhov teeb meem tshiab. Los yog kuv tab tom kawm cov algorithm tshiab uas kuv xav paub los daws qhov teeb meem no.
Yog koj xav yeej, koj yuav tsum ua tib yam. Xaiv qhov teeb meem thiab lo rau nws. Xav txog nws thaum taug kev mus rau lub tsev loj lossis thaum tsav tsheb.
Koj puas paub tias thaum koj tsaug zog, koj lub hlwb defragments cov ntaub ntawv sau hnub ntawd? Nws zoo nkaus li tau muab cov phau ntawv nyob rau hauv cov ntawv sau rau ntawm lub txee. Qhov tseem ceeb, koj lub hlwb xav txog ntau yam teeb meem uas koj tab tom ntsib.
Qhov no tuaj yeem siv tau zoo. Ua ntej yuav mus pw, nyeem ib qho teeb meem nyuaj thiab nco ntsoov tias nws yuav siv li cas los daws nws. Nyob rau theem no, koj tsis tas yuav nrhiav kev daws nws tus kheej. Mus pw. Koj lub hlwb yuav pib ua cov teeb meem no. Thaum koj sawv los, koj yuav xav tsis thoob tias koj pom qhov kev daws teeb meem thaum koj tsaug zog.
Sim nws tus kheej. Nws zoo li khawv koob.
Kuv tsim ib qho video blog
Cov kab lus luv luv no tsis hais txog kev ua kis las. Yog tias koj nyob hauv koj nees nkaum xyoo thiab xav tsis thoob li cas kuv pom lub ntiaj teb, koj yuav xav mus xyuas kuv cov video blog hauv Youtube. Kuv tham txog lub ntiaj teb no, lub neej thiab computer science nyob rau hauv nws.
Ua haujlwm ntse
Qhov no yog qhov zais cia ntawm kev vam meej. Koj xav tau cov hom phiaj.
Peb yog neeg thiab peb nyiam nws ncua sij hawm. Peb ib txwm xav muab qhov yuav tsum tau ua tam sim no. Saib Netflix yeej ib txwm muaj kev lom zem ntau dua li daws cov teeb meem kev ua haujlwm dynamic. Koj paub qhov no thiab koj yuav tsum kho nws.
Yuav ua li cas tuav procrastination
Teem koj tus kheej lub hom phiaj. Koj yuav pom cov teeb meem nthuav dav uas koj tuaj yeem kawm qee yam tshiab (saib cov peev txheej uas kuv tau hais saum toj no). Tab sis cov teeb meem no yuav tsum tau daws, tsis yog nyeem xwb.
Yog li ntawm no yog li cas kuv kov yeej kev ncua sij hawm. Kuv pib daim ntawv qhia hnub hli thiab sau txhua hnub nrog cov teeb meem uas kuv xav daws. Kuv ib txwm sau cov teeb meem ob hnub ua ntej. Yog li kuv paub yuav ua li cas tswj kuv lub sijhawm nyob rau hnub tom ntej.
Yog li ntawd kuv yeej ib txwm mob siab rau. Kuv yuav tsum tau daws qee qhov teeb meem thiab nrhiav cov tshiab los sau cov hnub tom ntej ntawm daim ntawv qhia hnub. Hla kev daws teeb meem zoo li zoo. Kuv paub tias koj nyiam thiab.
Tau koj tus kheej daim ntawv qhia hnub. Tsis txhob tsim lwm cov npe uas yuav tsum tau ua hauv koj lub xov tooj uas koj yuav hnov qab txog tag kis.
Yuav ua li cas debug zoo
Koj puas xav ua tus kws tshaj lij? Yog tias muaj, koj yuav tsum "debug nws hauv koj lub siab."
Qhov no yog nyob deb ntawm cov txheej txheem debugging zoo tshaj plaws kuv paub vim tias nws tsis tas yuav muaj qhov debugger txhua. Koj lub hlwb tshuaj xyuas ntau cov ceg ntoo ib zaug thiab muab cov ntsiab lus dav dav rau koj piv rau classic debugger.
Koj tuaj yeem piv koj tus kheej mus rau tus thawj coj loj uas ua chess thiab xav tias 3 mus tom ntej.
Kuv siv cov txheej txheem no nkaus xwb raws li kuv thawj kab ntawm kev tiv thaiv. Tom qab ntawd kuv siv qhov debugger tiag tiag.
Txhawm rau kawm paub daws teeb meem hauv koj lub taub hau, koj yuav tsum xyaum. Thaum koj siv tau cov kev daws teeb meem rau ib qho teeb meem thiab tau txais "cov lus teb tsis raug", tsis txhob mus ncaj nraim rau lub pob debugger. Rov nyeem cov cai thiab xav tias: "Dab tsi tshwm sim hauv kab no?", "Yog tias" ntawm no cuam tshuam li cas rau qhov kev zov me nyuam?", "Thaum peb tawm ntawm lub voj, tus nqi ntawm iterator yog dab tsi?"
Ua li no koj xav rau koj tus kheej. Thaum lub sij hawm, koj yuav kawm sau code thiab debug nws ntawm ya.
Txog tus sau
Andrei Margeloiu yog ib tug nyiam programmer nrog kev txaus siab rau kev ua lag luam, kev pib ua lag luam, thiab sab nraum zoov. Koj tuaj yeem tiv tauj nws ntawm LinkedIn.