203. Remove Linked List Elements
Company:
#leetcode203 | #easy #linkedlist
Please open Telegram to view this post
VIEW IN TELEGRAM
160. Intersection of Two Linked Lists
Company:
Попробуйте написать решение, используя O(1) памяти
#leetcode160 | #easy #linkedlist
Please open Telegram to view this post
VIEW IN TELEGRAM
Представь, что кто-то загадал число от 1 до 100, и ты пытаешься его угадать, задавая вопросы: "твоё число больше этого?" или "меньше?".
Самый быстрый способ это сделать — каждый раз отбрасывать половину возможных вариантов. Для этого нужно начать с середины диапазона — с числа 50.
Спрашиваешь: "Твоё число больше 50?":
Теперь снова берёшь середину нового диапазона — например, 75, и повторяешь. С каждым вопросом ты уменьшаешь количество возможных вариантов в два раза и быстро приближаешься к загаданному числу.
Это и есть бинарный поиск — на каждом шаге ты делишь оставшийся диапазон пополам и выбираешь нужную половину в зависимости от условия. Важно помнить, что такой подход работает только с отсортированными данными, без этого алгоритм не сможет правильно сузить область поиска.
Пример кода бинарного поиска заданного числа target в массиве (задача):
class Solution {
public int search(int[] nums, int target) {
int l = 0, r = nums.length - 1;
while (l <= r) {
int mid = l + (r - l) / 2;
if (nums[mid] == target) {
return mid;
} else if (nums[mid] < target) {
l = mid + 1;
} else {
r = mid - 1;
}
}
return -1;
}
}l + (r - l) / 2, вместо привычного (l + r) / 2. Это нужно для того, чтобы избежать переполнения int при больших значениях l и r.#binarysearch
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
35. Search Insert Position
Company:
Вам необходимо написать алгоритм со сложностью O(logn) по времени
#leetcode35 | #easy #binarysearch
Please open Telegram to view this post
VIEW IN TELEGRAM
69. Sqrt(x)
Company:
Не допускается использование встроенных функций
#leetcode69 | #easy #binarysearch
Please open Telegram to view this post
VIEW IN TELEGRAM
1539. Kth Missing Positive Number
Company:
Верните k-ое пропущенное число в этом массиве
#leetcode1539 | #easy #binarysearch
Please open Telegram to view this post
VIEW IN TELEGRAM
101. Symmetric Tree
Company:
Верните true, если оно является зеркальным отражением самого себя, то есть симметричным относительно своего центра
#leetcode101 | #easy #binarytree
Please open Telegram to view this post
VIEW IN TELEGRAM
404. Sum of Left Leaves
Company:
Лист — это узел без потомков. Левый лист — это лист, который является левым потомком другого узла
#leetcode404 | #easy #binarytree
Please open Telegram to view this post
VIEW IN TELEGRAM
270. Closest Binary Search Tree Value
Company:
Верните значение в BST, которое ближе всего к target. Если есть несколько ответов, верните наименьший
#leetcode270 | #easy #binarytree
Please open Telegram to view this post
VIEW IN TELEGRAM
1046. Last Stone Weight
Company:
На каждом ходу мы выбираем два самых тяжелых камня (x и y, x <= y) и разбиваем их друг о друга:
Верните вес последнего оставшегося камня. Если камней не осталось, верните 0
#leetcode1046 | #easy #priorityqueue
Please open Telegram to view this post
VIEW IN TELEGRAM
703. Kth Largest Element in a Stream
Company:
#leetcode703 | #easy #priorityqueue
Please open Telegram to view this post
VIEW IN TELEGRAM
3318. Find X-Sum of All K-Long Subarrays I
Company:
X-сумма вычисляется следующим образом:
При этом, если подмассив содержит менее x различных элементов, его X-сумма равна сумме подмассива
#leetcode3318 | #easy #priorityqueue
Please open Telegram to view this post
VIEW IN TELEGRAM
1971. Find if Path Exists in Graph
Company:
Ребра графа представлены двумерным массивом целых чисел edges, где edges[i] обозначает двунаправленное ребро между вершинами. Каждая пара вершин соединена не более чем одним ребром, и ни одна вершина не имеет ребра, ведущего в себя.
Верните true, если существует допустимый путь от вершины source к вершине destination
#leetcode1971 | #easy #graphs
Please open Telegram to view this post
VIEW IN TELEGRAM
1791. Find Center of Star Graph
Company:
Граф представлен двумерным массивом целых чисел edges, где edges[i] указывает на ребро между вершинами.
Ограничения:
3 <= n <= 10^5
edges.length == n - 1
#leetcode1791 | #easy #graphs
Please open Telegram to view this post
VIEW IN TELEGRAM