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

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

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

« None
» []

« [1]
» [1]


#task #python
Forwarded from Timur
Задачка «Remove Vowels» по Python

📚Напишите функцию remove_vowels(s), которая принимает строку и
возвращает новую строку, из которой удалены все
гласные буквы
(a, e, i, o, u, y в любом регистре).

👁‍🗨Примеры:
« remove_vowels("Hello world")
» Hll wrld !

« remove_vowels("Python is great")
» "Pthn s grt"

#task #python
Forwarded from Timur
Алгоритм QuickSort(Быстрая сортировка) на Golang

💡Объяснение:

📚QuickSort - это алгоритм быстрой сортировки элементов в массиве.
Принцип работы основан на методологии "Разделяй и властвуй".


🔵Алгоритм имеет 3️⃣ этапа:
1. На вход поступает не отсортированный массив.
2. Мы должны выбрать pivot element (опорный элемент), есть много вариантов как мы
будем выбирать этот элемент, но мы воспользуемся самым простым, а именно будем брать
последний элемент массива.

3. Берём pivot и все элементы которые меньше pivot, располагаем слева от pivot,
все элементы которые больше pivot располагаем справа.


🔄И повторяем действия 2 и 3 пункт рекурсивно,
до тех пор пока массив не будет отсортирован.


⚙️Уточнение:
параметры maxIndex и minIndex это диапазон сортировки массива.
slice - можно воспринимать как array, просто в golang
slice это динамический массив.


👁‍🗨Пример:
« [9, 12, 9, 2, 17, 1, 6]
» [1, 2, 6, 9, 9, 12, 17]

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

#algorithms #go
Forwarded from Timur
🟢Алгоритм Insertion Sort(Сортировка вставки) на Golang

⚙️Суть алгоритма:

💡Начинаем с того что в function insertionSort мы
принимаем не отсортированный массив. Потом
идёт проверка если массив пустой или имеет только
1 элемент, мы считаем его отсортированным и завершаем
работу функции (или возвращаем передаваемый массив, если
реализация не через указатель). Дальше пробегаемся по
всему массиву и на каждой итерации первого цикла, мы
вызываем 2 цикл, который уже от текущего элемента
(*(nums[i]))
до нулевого элемента(то есть начало массива). И при
этом сравниваем текущий элемент с предыдущим, и
если текущей элемент окажется меньше предыдущего, то меняем местами
их в массиве, в противном случаи выходим из 2 цикла, и так до конца всего
массива. На выходи получаем отсортированный массив.



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

#algorithms #go
Forwarded from Timur
Поиск самого часто встречающегося элемента в векторе на Rust

📚Напишите функцию most_frequent, которая принимает вектор
и возвращает элемент, который встречается чаще всего.
Если таких элементов несколько, вернуть любой из них.


👁‍🗨Пример №1:
« [1, 3, 2, 3, 4, 1, 3, 2, 1]
» 3
// or 1

👁‍🗨Пример №2:
« [1, 1, 2, 2, 3, 3]
» 1
// or 2 or 3

👁‍🗨Пример №3:
« [10, 0, 2, -1, 2]
» 2

💡Решение:
На картинке

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

#task #rust
This media is not supported in your browser
VIEW IN TELEGRAM
📚Открываем Браузер в VS Code

#vscode
Forwarded from Timur
🤯1
🟢Zustand библиотека управления состоянием.

📚Zustandэто библиотека управления состоянием для JavaScript и TypeScript,
которая позволяет создавать глобальное состояние для ваших приложений с минимальными
усилиями. Она часто используется в экосистемах, таких как React, и предоставляет
простой API для создания и управления состоянием в приложении.


⚙️Особенности:
Минимальный и гибкий API
Реактивность
Производительность
Без провайдеров/контекста

⛓️Источники:
📑Doc: тут
💾GitHub: тут

#frontend #lib #js
Forwarded from Timur
Задача на Go:

📚Напишите метод, который принимает один аргумент
в качестве имени, а затем приветствует это имя с
заглавной буквы и заканчивает восклицательным знаком.


👁‍🗨Примеры:

« "riley"
» "Hello Riley!"

« "JACK"
» "Hello Jack!"

« " "
» ""

#task #go
Forwarded from Timur
Полезные библиотеки Python

⚙️Tencent представили Hunyuan 3D 2.0 бесплатный генератор 3D-моделей нового уровня!


💾GitHub: тут

🖼Попробовать онлайн: тут


#python #soft
Forwarded from Timur
Yazi файловый менеджер.

📚Yaziэто файловый менеджер для терминала,
написанный на Rust и основанный на неблокирующем
асинхронном вводе-выводе. Он предназначен для эффективного,
удобного и настраиваемого управления файлами.


📑Doc: тут
💾GitHub: тут

#rust #soft
👍1
👍2👎1
Forwarded from Timur
Задача «Add Digits»

📚Дано целое число num, многократно складывайте все его цифры,
пока в результате не останется только одна цифра, и верните ее.


👁‍🗨Пример 1:
« num = 38
» 2

👁‍🗨Пример 2:
« num = 1701
» 9

💡Решение:
В решении используется чистая математика,
и скажу честно я не смог решить это задачу
за O(1) самостоятельно. Меня довольно сильно удивило
такое короткое и лаконичное решение задачи,
хотя казалось бы что надо использовать цикл/рекурсию
для решения(что я по началу и сделал ) но понял что сложность
алгоритма в таком случаи было бы O(n) или что ещё хуже O(n**2).
В задачи было сказано что её можно решить за O(1), что меня естественно удивило.
И про гуглив решение нашёл как решить эту задачу за время O(1).


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

#algorithms #java