Full stack dev
61 subscribers
356 photos
50 videos
4 files
99 links
"Full Stack Dev & Computer Science" – Канал для разработчиков, которые хотят
расширить свои знания в Full Stack и углубиться в основы и новейшие тренды Computer Science.
Здесь вы найдете материалы по frontend и backend разработке, работе с базами данных,
Download Telegram
Forwarded from Timur
Задача для « searchMatrix » Java

У нас есть method searchMatrix(), в качестве параметров принимаем int[][] matrix и
int target: searchMatrix(int[][] matrix, int target).
Нужно найти число
target в matrix, при этом у нас по m, n matrix отсортированы по
возрастанию. И в итоги вернуть
return (boolean) если есть число в matrix то true,
иначе
false.

👁‍🗨Пример №1:
« new int[][] {
{1, 2, 3, 4, 5},
{2, 3, 4, 5, 6},
{3, 4, 5, 6, 7}
}
, 5

» true

👁‍🗨Пример №2:
« new int[][] {
{1, 2, 3, 4, 5},
{2, 3, 4, 5, 6},
{3, 4, 5, 6, 7}
}
, 100

» false

💡Решение:
В начел идёт проверка матрицы, если проверка не прошла
успешно return false. Инициализируем m, n, i, j.
m - длина row, n - длина col. i, j - это указатели.
Обход начинаем с верхнего правого угла и до конца matrix.
По этой причине мы будем если matrix[i][j] > target то j-- иначе i++ .



📉Сложность алгоритма в решении:

⌚️Время: O(m + n)
💾Память: O(1)

#task #java
👍3🔥1
Forwarded from Timur
👍3
👍3🔥1
Forwarded from Timur
Задачка по Go

📚Условие:
Напишите функцию, которая принимает список
email-адресов и возвращает уникальные домены
из этого списка. Домен — это часть адреса после символа
@.

🔍Нюанс:
Если эту задачу решать на Golang, то структуру данных Set придётся
самому писать (что я и сделал).


💡Решение:
Сверху есть картинка кода реализации структуры данных Set.
И так же есть картинка с решением задачи.


👁‍🗨Пример:

« ["user1@example.com", "user2@test.com", "user3@example.com", "user4@sample.com"]
» {"example.com", "test.com", "sample.com"}

#task #go
В самом деле 🧐
#memes
Forwarded from Timur
Задача на Go «Perfect Squares»

📚Дано целое число n, верните наименьшее число идеальных
квадратных чисел, сумма которых равна
n.

💡Идеальный квадрат - это целое число, равное квадрату
целого числа
(например, 1, 4, 9 и 16).

💡Подсказка:
Для решение задачи, можно использовать
алгоритм
<<Динамическое программирование>>.

👁‍🗨Пример №1:
« n = 12
» 3
// 12 = 4 + 4 + 4

👁‍🗨Пример №2:
« n = 13
» 2
// 13 = 4 + 9


#task #go
1🤔1🤯1
«Reverse string» на Python

📚Условие задачи: дается строка и целое число k, необходимо
развернуть первые
k символов на каждые 2k символов, отсчитываемых с начала.

📚Если есть несколько символов больших k, необходимо развернуть все из
них. Если есть меньше, чем 2k символов, но при этом больше или равно k
символов, то необходимо оставить все как есть.


👁‍🗨Примеры:

« string = "abcdefg", k = 2
» "bacdfeg"

« string = "abcd", k = 2
» "bacd"

📈Сложность:
⌚️Время: O(n)
💾Память: O(n)


#task #python
Forwarded from Timur
🟢Алгоритм сортировки слиянием (Merge Sort) на Golang

📚Описание:
Сортировка слияниемэто один из эффективных алгоритмов
сортировки, основанный на принципе разделяй и властвуй.
Алгоритм состоит из двух этапов:


1. Разделение массива на подмассивы mergeSort().
2. Слияние подмассивов в отсортированном порядке mergeTwoSlice().

Предположим, у нас есть массив: [5, 3, 8, 6, 2, 7, 4, 1].
- Разделяем массив на 2 части left = [5, 3, 8, 6]; right = [2, 7, 4, 1]
- И так рекурсивно делим массив до одного элемента в нём
- Дальше Соединяем обратно [5] и [3] -> [3, 5], [8] и [6] -> [6, 8] и т.д

📉Сложность:
⌚️Время: O(n log n)
💾Память: O(n)

#algorithms #go