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
Поиск самого часто встречающегося элемента в векторе на 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
Forwarded from Timur
Задача на Go:

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


👁‍🗨Примеры:

« "riley"
» "Hello Riley!"

« "JACK"
» "Hello Jack!"

« " "
» ""

#task #go
Задача на Python:

📚Создайте программу, которая фильтрует список
строк и возвращает список, содержащий только имена ваших друзей.


⚙️Если в имени ровно 4 буквы, вы можете быть уверены,
что это ваш друг! В противном случае вы можете быть
уверены, что это не так...


👁‍🗨Пример:

« ["Ryan", "Kieran", "Jason", "Yous"]
» ["Ryan", "Yous"]

#task #python
Forwarded from Timur
Задача на Rust

📚Завершите решение так, чтобы функция
разбивала регистр camel, используя
пробел между словами.


👁‍🗨Примеры:
« "camelCasing"
» "camel Casing"

« "identifier"
» "identifier"

« ""
» ""


#task #rust
Forwarded from Timur
🟢Подсчёт количества слов в строке на Python

📚Напишите функцию count_words(text), которая принимает
строку и возвращает словарь, где ключами
являются слова из строки, а
значениями — количество их вхождений. Игнорируйте
регистр и знаки препинания.


👁‍🗨Пример:

« "Hello, world! Hello Python world."
» {'hello': 2, 'world': 2, 'python': 1}

#task #python
Forwarded from Timur
Задача на Python:

📚Вам будет предоставлена непустая строка.
Ваша задача - вернуть средние символы строки.
Если длина строки нечетная, верните средний символ.
Если длина строки четная, верните 2 средних символа.
Если строка пустая, то
return ""

👁‍🗨Пример №1:

« "test"
» "es"

👁‍🗨Пример №2:

« "testing"
» 't'

#task #python
Задача для Golang:

📚Напишите функцию, которая принимает
массив строк в качестве аргумента и
возвращает отсортированный массив,
содержащий те же строки, упорядоченные от
самой короткой к самой длинной.


👁‍🗨Пример:

« ["Telescopes", "Glasses", "Eyes", "Monocles"]
» ["Eyes", "Glasses", "Monocles", "Telescopes"]

#task #go
👍2
Forwarded from Timur
🟢Задача на Go:

📚Задан массив целых чисел, найдите максимальное
произведение, полученное при умножении двух
соседних чисел в массиве.


👁‍🗨Пример:

« [1, 2, 3]
» 6
// 2∗3=6

« [5, 3]
» 15
// 5∗3=15

« []
» panic: В срезе должно быть минимум 2 элемента

#task #go
Forwarded from Timur
Задача для Java

📚У нас есть метод twoSum(int[] nums, int target) и массив int[] nums, числа
в нем рассортированы по возрастанию.
Нужно найти 2 числа, которые в сумме дают
int target и return new int[]{ num1, num2 },
если не нашлось ответа, то
return new int[]{0}

👁‍🗨Пример №1:
« nums = new int[]{-3, 0, 1, 3, 4}, target = 5
» [1, 4]

👁‍🗨Пример №2:
« nums = new int[]{1, 2, 3, 4, 5}, target = 9
» [4, 5]

👁‍🗨Пример №3:
« nums = new int[]{-5, -3, -1, 0, 1, 3, 5}, target = -8
» [-5, -3]

👁‍🗨Пример №4:
« nums = new int[]{1, 2, 3, 4, 5}, target = 50
» [0]

💡Решение:
Я использовал при решении задачи алгоритм двух указателей.


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


#task #java
Forwarded from Timur
Задача для Java «Valid Anagram»

⚙️Даны две строки s и t, верните true,
если
t является анаграммой s, и false
в противном случае.


👁‍🗨Пример 1:
« s = "anagram", t = "nagaram"
» true

👁‍🗨Пример 2:
« s = "rat", t = "car"
» false

Как работает решение:
Первым действием мы проверяем если s or t будут
пустыми мы возвращаем false, так же проверяем чтобы
длина s.length() and t.length были равны, иначе будем возвращать
false. Дальше мы работаем с типами, а именно конвертируем String to char[],
чтобы можно было следующим действием отсортировать оба char[], что
является ещё одним действием. И в конце мы сравниваем два массива.


Почему такая сложность:
Время: конвертация String to char[] даёт сложность O(n).
Сортировка стоит O(log n). И в сумме получаем O(n log n).

Память: из-за хранения массивов для строк. В итоги O(n)


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

⌚️Время: O(n log n)
💡Память: O(n)

#task #java
Forwarded from Timur
Задача для Java:

📚Создайте функцию, которая возвращает
сумму двух наименьших положительных
чисел, заданных в массиве минимум из 4
положительных целых чисел. Никакие числа
с плавающей точкой или неположительные целые
числа передаваться не будут.


👁‍🗨Пример:

« [19, 5, 42, 2, 77]
» 7

« [10, 343445353, 3453445, 3453545353453]
» 3453455

#task #java
Forwarded from Timur
🟢Предобработка текстовых данных и создание
мешка слов
(Bag of Words) на Go

📚Напишите функцию, которая принимает список текстовых
строк и возвращает мешок слов (Bag of Words) в виде
словаря, где ключи — это уникальные слова, а значения —
их частота встречаемости в текстах. Функция должна выполнять
базовую предобработку текста: приведение к нижнему регистру,
удаление знаков препинания и стоп-слов.


👁‍🗨Пример:

« []string{
"I love data science!",
"Data science is amazing.",
"Machine learning is a part of data science."
}


» map[
amazing:1 data:3 learning:1
love:1 machine:1 part:1 science:3
]



#task #go
Задача на Java

📚Условие задачи: дан массив астероидов (каждое значение - вес астероида, а знак - направление движения). Каждый из астероидов двигается с одинаковой скоростью.

⚙️При столкновени двух астероидов, асторид с меньшим весов уничтожается (у целого астероида вес остается неизменным после столкновения).

🖨Вывести надо результирующий массив после всевозможных столкновений.

📑Пример:

Ввод: asteroids = [5,10,-5]
Вывод: [5,10]
Объяснение: 3-ий астероид сталкивается со 2-ым и уничтожается.

Ввод: asteroids = [8,-8]
Вывод: [ ]


#task #java
👍1
Forwarded from Timur
Задача для Java «Maximum Swap»

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


⚙️Нужно вернуть максимальное значение, которое вы можете получить.

👁‍🗨Пример №1:
« 2736
» 7236
💡Пояснение: Поменяли 2 и 7 местами.

👁‍🗨Пример №2:
« 9973
» 9973
💡Пояснение: Ничего местами не поменяли.

👁‍🗨Пример №3:
« 1234567
» 7234561
💡Пояснение: Все цифры поменяли.

#task #java