Свързани публикации 'leetcode'


Ден 21: Добавете двоичен файл
Решение на LeetCode 67. Add Binary , което е вдъхновено от caikehe class Solution { public: string addBinary(string a, string b) { string res = ""; int i = a.length() - 1; int j = b.length() - 1; int carry = 0; while (i >= 0 || j >= 0 || carry != 0) { if (i >= 0) { carry += a[i] == '0' ? 0 : 1; i--; } if (j >= 0) { carry += b[j] ==..

Ден 37: K най-близки точки до началото
LeetCode 973. K най-близки точки до произхода class Solution { public: vector<vector<int>> kClosest(vector<vector<int>>& points, int K) { vector<pair<vector<int>, int>> temp; vector<vector<int>> res; for (auto elem : points) { int dist = elem[0]*elem[0] + elem[1]*elem[1]; temp.push_back(pair(elem, dist)); } sort(temp.begin(), temp.end(),..

Серия Leetcode. № 100: Същото дърво
Дадени са корените на две двоични дървета p и q , напишете функция, за да проверите дали са еднакви или не. Две двоични дървета се считат за еднакви, ако са структурно идентични и възлите имат една и съща стойност. Пример 1: Input: p = [1,2,3], q = [1,2,3] Output: true Пример 2: Input: p = [1,2], q = [1,null,2] Output: false Пример 3: Input: p = [1,2,1], q = [1,1,2] Output: false Както винаги, следвайте коментарите за всеки ред. В..

LeetCode — Обхождане на реда на ниво двоично дърво II
Постановка на проблема Като се има предвид root на двоично дърво, върнете обхождането на ниво отдолу нагоре на стойностите на неговите възли . (т.е. отляво надясно, ниво по ниво от листа до корена). Изявлението на проблема е взето от: https://leetcode.com/problems/binary-tree-level-order-traversal-ii/ Пример 1: Input: root = [3, 9, 20, null, null, 15, 7] Output: [[15, 7], [9, 20], [3]] Пример 2: Input: root = [1] Output: [[1]] Пример 3: Input: root = [] Output:..

Leetcode_53_Максимален подмасив
Този проблем е добър и лесен пример за прилагане на динамично програмиране. В някои проблеми на динамичното програмиране трябва да създадем масив (да речем dp) с размер = n. След това актуализирайте всички елементи чрез „for цикъл“, за да отразите (временно) оптималните решения. В този въпрос, въпреки че динамичното програмиране е начинът да подходим към него, трябва да запазим само две променливи (g_max и s_max) и само слой от „for цикъл“. В резултат на това сложността може да бъде..

Съвети за решаване на проблеми с LeetCode
LeetCode е най-добрата платформа, която да ви помогне да подобрите уменията си, да разширите знанията си и да се подготвите за технически интервюта. Но проблемът е, че забравям решението и триковете след известно време. Трудно е да запомните решенията. Но след като реших някои проблеми на leetcode, се опитвам да идентифицирам модела за решаване на проблемите за подготовката на техническите интервюта. Има някои предложения коя техника или алгоритъм трябва да приложите при какъв тип..

NeetCode 150: Лесен начин за справяне с въпросите за интервю за кодиране
Вероятно най-доброто ръководство за подготовка на въпроси за интервю за програмиране Всички искаме мечтаната работа в компания FAANG... Но не могат да наемат всички. Ето защо превъзходството в интервютата за кодиране е от решаващо значение, за да се поставите над останалите, но това може да бъде трудна задача. Структури на данни, алгоритми, времева/пространствена сложност: това са всички неща, които ще трябва да знаете отвътре, за да се окажете безупречен кандидат за вашия..