Forwarded from Timur
🟢Задача по Rust: Поиск первого неповторяющегося символа в строке
📚Напишите функцию, которая находит первый символ в строке,
который не повторяется. Если все символы повторяются, функция
должна вернуть None.
⚙️Пример:
Решение задачи на картинке
Выполняется за O(1)
#task #rust
📚Напишите функцию, которая находит первый символ в строке,
который не повторяется. Если все символы повторяются, функция
должна вернуть None.
⚙️Пример:
first_unique_char("swiss") # Ожидаемый результат: "w"first_unique_char("aabb") # Ожидаемый результат: NoneРешение задачи на картинке
Выполняется за O(1)
#task #rust
❤1
Forwarded from Timur
This media is not supported in your browser
VIEW IN TELEGRAM
🟢Архитектурные шаблоны для приложения
💡𝟭.
💡𝟮.
💡𝟯.
💡𝟰.
💡𝟱.
💡𝟲.
#data #computerSince
💡𝟭.
𝗠𝗼𝗻𝗼𝗹𝗶𝘁𝗵𝗶𝗰 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲💡𝟮.
𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲💡𝟯.
𝗖𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗲𝗿-𝗪𝗼𝗿𝗸𝗲𝗿 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲💡𝟰.
𝗠𝗼𝗱𝗲𝗹-𝗩𝗶𝗲𝘄-𝗖𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗲𝗿 (𝗠𝗩𝗖)💡𝟱.
𝗘𝘃𝗲𝗻𝘁-𝗗𝗿𝗶𝘃𝗲𝗻 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲💡𝟲.
𝗟𝗮𝘆𝗲𝗿𝗲𝗱 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲#data #computerSince
Forwarded from Timur
🟢Задача по C: Поиск первого неповторяющегося символа в строке
📚Напишите функцию, которая находит первый символ в строке,
который не повторяется. Если все символы повторяются, функция
должна вернуть None.
👁🗨Пример 1:
«
» 'w'
👁🗨Пример 2:
«
»'\0'
👁🗨Пример 3:
«
» 't'
#task #c
📚Напишите функцию, которая находит первый символ в строке,
который не повторяется. Если все символы повторяются, функция
должна вернуть None.
👁🗨Пример 1:
«
first_unique_char("swiss") » 'w'
👁🗨Пример 2:
«
first_unique_char("aabb") »'\0'
👁🗨Пример 3:
«
first_unique_char("ggteqq") » 't'
#task #c
Forwarded from Timur
✅Quick Sort in Python
📚
разделяй и властвуй (divide and conquer). Он рекурсивно делит массив на части относительно опорного
элемента (pivot) и сортирует их.
📉Сложность: O(log n)
⚙️Принцип работы:
➖ Выбор опорного элемента (pivot): обычно выбирается первый, последний, средний или случайный элемент массива.
➖ Разделение: массив делится на три части:
➖ Элементы, меньшие опорного.
➖ Элементы, равные опорному.
➖ Элементы, большие опорного.
➖ Рекурсивная сортировка: подмассивы сортируются тем же алгоритмом.
➖ Объединение: объединяются отсортированные подмассивы.
💡Quick Sort — один из самых эффективных алгоритмов
сортировки и часто используется в стандартных
библиотеках.
#algorithms #python
📚
Quick Sort (Быстрая сортировка) — это популярный алгоритм сортировки, который использует метод разделяй и властвуй (divide and conquer). Он рекурсивно делит массив на части относительно опорного
элемента (pivot) и сортирует их.
📉Сложность: O(log n)
⚙️Принцип работы:
➖ Выбор опорного элемента (pivot): обычно выбирается первый, последний, средний или случайный элемент массива.
➖ Разделение: массив делится на три части:
➖ Элементы, меньшие опорного.
➖ Элементы, равные опорному.
➖ Элементы, большие опорного.
➖ Рекурсивная сортировка: подмассивы сортируются тем же алгоритмом.
➖ Объединение: объединяются отсортированные подмассивы.
💡Quick Sort — один из самых эффективных алгоритмов
сортировки и часто используется в стандартных
библиотеках.
#algorithms #python
Forwarded from Timur
✅Quick Sort in-place in Python
📚
которая сортирует элементы массива на месте, без использования
дополнительной памяти для создания новых массивов.
📑Вот этот алгоритм уже можно использовать на практике, но с подмечу,
если есть какие то встроенные варианты(функции, методы) на вашем языке, то
лучше использовать их, так как они могут быть написаны на более производительных
языках, например C or Rust.
📉Сложность: O(log n)
⚙️Принцип работы:
➖ Выбирается опорный элемент (pivot), обычно последний, первый или случайный элемент.
➖ Все элементы, меньшие pivot, перемещаются влево, а большие — вправо.
➖ После этого массив рекурсивно делится на две части, которые сортируются по тому же принципу.
#algorithms #python
📚
In-place Quick Sort — это модификация быстрой сортировки(Quick Sort был пост выше), которая сортирует элементы массива на месте, без использования
дополнительной памяти для создания новых массивов.
📑Вот этот алгоритм уже можно использовать на практике, но с подмечу,
если есть какие то встроенные варианты(функции, методы) на вашем языке, то
лучше использовать их, так как они могут быть написаны на более производительных
языках, например C or Rust.
📉Сложность: O(log n)
⚙️Принцип работы:
➖ Выбирается опорный элемент (pivot), обычно последний, первый или случайный элемент.
➖ Все элементы, меньшие pivot, перемещаются влево, а большие — вправо.
➖ После этого массив рекурсивно делится на две части, которые сортируются по тому же принципу.
#algorithms #python