Publikācijas par tēmu 'algorithms'


Mūsu pieejas kļūda: ko jūs darāt nepareizi, ieviešot atkārtotu neironu tīklu-LSTM!
Pirms dažiem mēnešiem es sāku iedziļināties mašīnmācīšanās jomā un pēc dažu projektu īstenošanas pie sevis nodomāju: "Tas nav īsti grūti". Tas bija līdz brīdim, kad es saskāros ar Deep Learning. Pilnīgi jauna studiju joma, dziļā mācīšanās, prasa milzīgu matemātisko, kā arī analītisko zināšanu daudzumu. Neironu tīkla izveide būtībā ir līdzvērtīga cilvēka smadzeņu veidošanai! Gatavojoties saskarties ar Neural Nets, es sapratu, ka tas ir tik nepārspējami. Ir tik daudz sarežģītu..

Pilnības meklējumi — O(n) (dublēto elementu noņemšana)
Kāds profesors reiz teica: Lai kļūtu par vecāko inženieri, jums ir jāapgūst strukturālā programmēšana, funkcionālā programmēšana, polimorfisms, daudz arhitektūras, dizaina modeļi, testēšana, TDD, BDD, veiklā un ekstrēmā programmēšana. Jums ir daudz jāsavieno pārī. Tajā ir daudz kustīgu detaļu! Taču, lai sasniegtu augstāku līmeni un kļūtu par pasaules līmeni, viena lieta un viena lieta, tikai jums ir jādominē jūsu plaukstā: algoritmi! Daži saka, ka Visums un dzīvība ir aprakstīti..

Occam's Razor: īss un vienkāršs kods
Fons Manā lietojumprogrammā Group Randomizer viena no mana MVP (minimālā dzīvotspējīgā produkta) funkcijām ir grupas saglabāšanas funkcijas izveide. Kad lietotājs noklikšķina uz pogas “Saglabāt grupu”, pašreizējais opciju saraksts tiks saglabāts kā jauna grupa. Tomēr šīs funkcijas galvenā funkcionalitāte ir tāda, ka, ja tā atrod esošu saglabātu grupu ar vienādām opcijām neatkarīgi no secības, tiks parādīts brīdinājums, ka grupa ar pašreizējo opciju sarakstu jau pastāv. Piemēram,..

JavaScript algoritms: pārveidojiet virkni par Camel Case
Pārvērtiet domuzīmes un/vai pasvītrotos vārdus kamieļa apvalkā Mēs rakstīsim funkciju ar nosaukumu toCamelCase() , kas pieņems virkni str kā argumentu. Šai funkcijai jums tiek dota virkne, un vārdi virknē ir atdalīti ar domuzīmi — vai pasvītrojumu _ , vai ar abiem. Funkcijas mērķis ir noņemt visas domuzīmes un/vai pasvītras, un pirmais vārds, kas seko šim pasvītrai vai domuzīmei, ir jāraksta ar lielo burtu. Atgrieztajai virknei vajadzētu līdzināties ievades virknei, bet ar..

Pastiprināšanas mācības: īss ievads
Pastiprināšanas mācīšanās ir mašīnmācīšanās veids, kas koncentrējas uz apmācību algoritmiem, lai pieņemtu lēmumu secību. Algoritmi mācās no savām darbībām un no tām izrietošajām atlīdzībām vai sodiem, lai laika gaitā maksimāli palielinātu atlīdzības signālu. Pastiprināšanas mācības var izmantot dažādās lietojumprogrammās, piemēram, videospēlēs, robotikā un autonomās sistēmās. Tas ir īpaši veiksmīgs spēļu spēlēšanas jomā, kur algoritmi ir apmācīti spēlēt spēles pārcilvēciskā līmenī,..

LeetCode — Binārā koka zigzaga līmeņa secības apceļošana
Problēmas paziņojums Ņemot vērā binārā koka root , atgrieziet tā mezglu vērtību zigzaga līmeņa secību. (t.i., no kreisās puses uz labo, pēc tam no labās uz kreiso, lai iegūtu nākamo līmeni un pārmaiņus). Problēmas izklāsts ņemts no: https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ 1. piemērs: Input: root = [3, 9, 20, null, null, 15, 7] Output: [[3], [20, 9], [15, 7]] 2. piemērs: Input: root = [1] Output: [[1]] 3. piemērs: Input: root..

Apgūstiet dinamisko programmēšanu: ceļvedis iesācējiem monētu maiņas problēmai
Paaugstiniet savas intervēšanas prasmes un kļūstiet par labāku izstrādātāju, apgūstot dinamiskās programmēšanas pamatus Dinamiskā programmēšana ir pieeja sarežģītu problēmu risināšanai, kas ietver problēmas sadalīšanu vienkāršākos un šo problēmu risināšanu. Ja jums lūgtu reizināt 21 * 5, jūs, iespējams, tā vietā reizināt (20 * 5) un pievienot (1 * 5). Tā vietā, lai atrisinātu vienu sarežģītu problēmu, jūs to sadalījāt trīs vienkāršākos problēmās un atrisinājāt tās. 20 * 5 = 100 1..