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
🟢Подсчёт количества слов в строке на 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
Forwarded from Timur
Задача по Java: Удаление дубликатов из списка с сохранением порядка

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


👁‍🗨Пример №1:
« List.of("apple", "banana", "apple", "orange", "banana")
» [apple, banana, orange]

👁‍🗨Пример №2:
« List.of("Timur", "Alex", "Max", "Alex", "Max")
» [Timur, Alex, Max]

👁‍🗨Пример №3:
» List.of("JS","Java", "JS", "JS", "Python")
« [JS, Java, Python]

#task #java
Задача Java:

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


⚙️Пример:

« 42145
» 54421
—————
« 145263
» 654321


#task #java
Кодирование и декодирование списка строк

📚Условие:
Необходимо разработать алгоритм кодирования
списка строк в одну строку
. Закодированная
строка будет отправлена по сети и затем декодирована
обратно в исходный список строк.
Необходимо реализовать функции encode и decode.

👁‍🗨Примеры:

⚙️Пример №1
« ["apple", "banana", "cherry"]

​» "a4b6c5applebananacherry"


⚙️Пример №2
« ["cat", "dog", "bird", "fish"]

​» "c3d3b4f4catdogbirdfish"


#task #java
Forwarded from Timur
Задача по Python: Уникальные элементы с сохранением порядка

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


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

« [1, 2, 2, 3, 4, 3, 5, 1, -1, -2]
» [1, 2, 3, 4, 5, -1, -2]

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

« [1, 2, 2, 3, 4, 3, 5, 1]
» [1, 2, 3, 4, 5]

#task #python
Задача для Rust «Delete Operation for Two Strings»

📚Даны две строки word1 и word2, верните минимальное
количество шагов, необходимое для того, чтобы слова
word1
и
word2 стали одинаковыми.

💡За один шаг вы можете удалить ровно один символ в каждой строке.

👁‍🗨Пример №1:
« word1 = "sea" word2 = "eat"
» 2

💡Пояснение: Нужен один шаг, чтобы преобразовать "sea" в "ea",
и еще один шаг, чтобы преобразовать "eat" в "ea".

👁‍🗨Пример №2:
« word1 = "leetcode", word2 = "etco"
» 4

👁‍🗨Пример №3:
« word1 = "s", word2 = "eat"
» 4

#task #rust
Задача для Python «Daily Temperatures»

📚Дан массив целых чисел temperatures, где каждая температура соответствует
определённому дню.


⚙️Нужно вернуть новый массив answer, где каждое значение показывает, сколько дней нужно
подождать до более высокой температуры. Если такого дня не будет, записывается 0.


💡Подсказка:

Я нашёл два варианта решения задачи. Первый вариант O(n**2) это двойной цикл for.
Второй вариант это использование стека, там тоже есть циклы, но сложность алгоритма
O(n), что уже лучше. Ну само собой я использовал второй вариант решения по очевидным
причинам.


👁‍🗨Пример 1:
« temperatures = [73,74,75,71,79]
» [1,1,2,1,0]

👁‍🗨Пример 2:
« temperatures = [30,60,90]
» [1,1,0]

#task #python
👍2
🟢Задача для Rust «Sum digits»:

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


👁‍🗨Пример №1:
« 10
» 1

👁‍🗨Пример №2:
« 99
» 18

#task #rust