Publicații conexe 'algorithms'


Defectul abordării noastre: Ce greșiți în timp ce implementați Recurrent Neural Network-LSTM!
Am început să mă aprofundez în domeniul învățării automate în urmă cu câteva luni și după ce am realizat câteva proiecte, m-am gândit în sinea mea: „Acesta nu este chiar greu”. Asta până când am întâlnit Deep Learning. Un domeniu de studiu complet nou, Deep Learning necesită o cantitate mare de cunoștințe matematice și analitice. Crearea unei rețele neuronale este practic echivalent cu realizarea unui creier uman! În timp ce mă pregăteam să pun mâna pe Neural Nets, mi-am dat seama..

Căutarea perfecțiunii — O(n) (Eliminarea elementelor duplicate)
Un profesor a spus odată: Pentru a fi inginer senior, trebuie să studiezi Programare structurală, Programare funcțională, Polimorfism, multă arhitectură, Modele de proiectare, Testare, TDD, BDD, Agile și Programare extremă. Trebuie să împerechezi multe. Sunt o mulțime de piese în mișcare! Dar pentru a depăși și a fi de clasă mondială, există un singur lucru și un singur lucru pe care trebuie să-l dominați în palmă: algoritmii! Unii spun că universul și viața sunt descrise în..

Briciul lui Occam: păstrarea codului scurt și simplu
fundal În aplicația mea Group Randomizer, una dintre caracteristicile pentru MVP-ul meu (produsul minim viabil) este crearea unei funcții de salvare a grupului. Când utilizatorul face clic pe butonul „Salvare grup”, acesta va salva lista curentă de opțiuni ca grup nou. Cu toate acestea, funcționalitatea de bază a acestei caracteristici este că, dacă găsește un grup salvat existent cu aceleași opțiuni, indiferent de ordine, atunci va apărea o alertă care afirmă că un grup cu lista dvs...

Algoritm JavaScript: Convertiți șirul în Camel Case
Transformați liniuța și sau sublinierea cuvintelor delimitate în carcasă de cămilă Vom scrie o funcție numită toCamelCase() care va accepta un șir, str , ca argument. Pentru această funcție, vi se dă un șir, iar cuvintele din șir sunt separate fie de o liniuță — , fie de o liniuță de subliniere _ sau de ambele. Scopul funcției este de a elimina toate liniuțele și/sau liniuțele de subliniere, iar primul cuvânt care urmează acelui liniuță sau liniuță trebuie scris cu majuscule...

Învățare prin consolidare: o scurtă introducere
Învățarea prin consolidare este un tip de învățare automată care se concentrează pe algoritmi de antrenament pentru a lua o secvență de decizii. Algoritmii învață din acțiunile lor și din recompensele sau penalitățile rezultate, cu scopul de a maximiza un semnal de recompensă în timp. Învățarea prin consolidare poate fi utilizată într-o varietate de aplicații, cum ar fi jocuri video, robotică și sisteme autonome. A avut succes în special în domeniul jocurilor, unde algoritmi au fost..

LeetCode — Binary Tree Zigzag Level Order Traversal
Declarație problemă Având în vedere root al unui arbore binar, returnați parcurgerea în ordinea în zig-zag a valorilor nodurilor sale. (adică, de la stânga la dreapta, apoi de la dreapta la stânga pentru următorul nivel și alternați între ele). Declarația problemei preluată de la: https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ Exemplu 1: Input: root = [3, 9, 20, null, null, 15, 7] Output: [[3], [20, 9], [15, 7]] Exemplu 2: Input: root =..

Aflați programarea dinamică: un ghid pentru începători pentru problema schimbării monedelor
Creșteți-vă abilitățile de intervievare și deveniți un dezvoltator mai bun învățând elementele de bază ale programării dinamice Programarea dinamică este o abordare a rezolvării problemelor complexe care implică împărțirea problemei în probleme mai simple și rezolvarea acestor probleme. Dacă vi s-ar cere să înmulțiți 21 * 5, probabil în schimb ați înmulți (20 * 5) și ați adăuga (1 * 5). În loc să rezolvi o problemă complexă, ai împărțit-o în trei probleme mai simple și le-ai rezolvat...