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
👍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
🟢Задача на Python:

📚Напишите функцию sort_list(lst: List[int]) так, чтобы оно отсортировало
переданный массив чисел. Если функция передает пустой
массив или значение
null/nil, то она должна вернуть пустой массив.

👁‍🗨Примеры:
« [5, 4, 3, 2, 1]
» [1, 2, 3, 4, 5]

« None
» []

« [1]
» [1]


#task #python