Двухсторонняя очередь (deque — double ended queue) — структура данных, в которой элементы можно добавлять и удалять как в начало, так и в конец. В некоторых языках программирования реализована в классическом варианте, в некоторых может быть реализована при помощи связного списка.
Отлично дополняет классическую структуру данных - очередь, где возможно добавление только в конец, а выборка только с начала. И данная задача прекрасный пример работы с deque!
#task_191 #c_sharp
https://medium.com/unilecs/task-70c015f82a8
Отлично дополняет классическую структуру данных - очередь, где возможно добавление только в конец, а выборка только с начала. И данная задача прекрасный пример работы с deque!
#task_191 #c_sharp
https://medium.com/unilecs/task-70c015f82a8
Medium
UniLecs #Task. Очередь
Задача: в больнице большие очереди к врачам, т.к. врачей не хватает. Обычные граждане встают в конец очереди, а пенсионеры встают ровно в…
Преобразуем число в массив цифр, а далее небольшая магия со строками! Смотрим разбор!
#task_192 #c_sharp
https://medium.com/unilecs/task-d12323b6120d
#task_192 #c_sharp
https://medium.com/unilecs/task-d12323b6120d
Medium
UniLecs #Task. Цифровое табло
Задача: недавно мы разрабатывали алгоритм цифрового табло для электронной очереди в больнице. Теперь у нас менее серъезная задача…
В таких задачах вполне логично работать с такой структурой данных, как очередь, однако часто бывает, что необходимо делать вставки как в конец, так и в начало очереди. Для таких целей подойдет обычный массив, либо связный список.
#task_193 #c_sharp
https://medium.com/unilecs/task-9aa1af659300
#task_193 #c_sharp
https://medium.com/unilecs/task-9aa1af659300
Medium
UniLecs #Task. Барбершоп
Задача: в барбершопе работает один мастер. Он тратит на одного клиента ровно 20 минут, а затем сразу переходит к следующему, если в…
👨🏻💻 Разбираем алгоритм склеек фрагментов при видеомонтаже, детали по ссылке ниже!
#task_194 #c_sharp
https://medium.com/unilecs/task-5ee50c17679c
#task_194 #c_sharp
https://medium.com/unilecs/task-5ee50c17679c
Medium
UniLecs #Task. Алгоритм склеек при видеомонтаже
Задача: алгоритм программы для видеомонтажа. Дан список видеонарезок фильма, некоторые из них содержат одни и те же видеофрагменты…
👨🏻💻 Начинаем понедельник с разбора последней задачи! Тривиальное решение нетривиальной задачи!
Всем плодотворной рабочей недели!
#task_195 #c_sharp
https://medium.com/unilecs/task-fc5aabb51bf
Всем плодотворной рабочей недели!
#task_195 #c_sharp
https://medium.com/unilecs/task-fc5aabb51bf
Medium
UniLecs #Task. Детский праздник
Задача: для организации детского праздника необходимо надуть M воздушных шариков. Для этого организаторы позвали N добровольцев, i-й среди…
👨🏻💻 Целью этой задачи было частично познакомить вас с такой структурой данных как multiset - это контейнер, который автоматически сортирует добавляемые элементы в порядке возрастания. Также multiset хранит повторяющееся элементы, в отличие от простого set.
Multiset позволит вам не выполнять сортировку вручную на каждом шаге цикла.
#task_196 #cpp #c_sharp
https://medium.com/unilecs/task-82df9b4f67cc
Multiset позволит вам не выполнять сортировку вручную на каждом шаге цикла.
#task_196 #cpp #c_sharp
https://medium.com/unilecs/task-82df9b4f67cc
Medium
UniLecs #Task. Стоимость арифметических операций
Задача: определим следующую операцию: стоимость сложения двух чисел равна их сумме. Например, стоимость операции сложения числа 1 и 2…
👨🏻💻 Разбор нашей последней задачи, теория графов в полной красе. Задача усложнялась только тем, что шахматный конь был не один. Смотрим разбор!
#task_197 #c_sharp #bfs
https://medium.com/unilecs/task-89b705aa420b
#task_197 #c_sharp #bfs
https://medium.com/unilecs/task-89b705aa420b
Medium
UniLecs #Task. Кратчайший путь двух коней
Задача: на шахматной доске 8×8 стоит два шахматных коня и для каждого из них задана клетка, в которую он должен попасть. Переведите…
👨🏻💻 Разбор задачи с пересекающимися временными отрезками! Все детали по ссылочке ниже!
#task_198 #c_sharp
https://medium.com/unilecs/task-f0b50a010d79
#task_198 #c_sharp
https://medium.com/unilecs/task-f0b50a010d79
Medium
UniLecs #Task. Онлайн-конференция
Задача: на очередной онлайн-конференции присутствовало онлайн N участников. Но некоторые из них подключались к трансляции после его начала…
👨🏻💻 Простой разбор, на первый взгляд, не тривиальной задачи!
Всем удачной недели!
#task_199 #c_sharp
https://medium.com/unilecs/unilecs-task-impossible-amount-d04f57280fc9
Всем удачной недели!
#task_199 #c_sharp
https://medium.com/unilecs/unilecs-task-impossible-amount-d04f57280fc9
Medium
UniLecs #Task. Impossible amount
Задача: дан массив натуральных чисел. Необходимо определить минимальное натуральное число, которое не образуется суммой никаких из этих…
👨🏻💻 Классическая ошибка джунов - "А, это же легко!" А потом выясняется, что код работает не во всех случаях.
Будьте внимательны даже при решении самых простых задач!
#task_201 #c_sharp
https://medium.com/unilecs/unilecs-task-special-sum-6d0c9dca766f
Будьте внимательны даже при решении самых простых задач!
#task_201 #c_sharp
https://medium.com/unilecs/unilecs-task-special-sum-6d0c9dca766f
Medium
UniLecs #Task. Special Sum
Задача: N — 3х значное натуральное число. Необходимо найти сумму наибольшего и наименьшего 3х значных чисел, которые могут быть образованы…
👨🏻💻 Сдвиг элементов массива на K, равному размеру исходного массива, не изменит исходное положение. Очевидно, это верно и для любого K кратному размеру исходного массива.
Детали разбора с 2мя различными подходами смотрите в нашей статье!
#task_202 #c_sharp
Детали разбора с 2мя различными подходами смотрите в нашей статье!
#task_202 #c_sharp
Medium
UniLecs #Task. Shift array
Задача: дан массив целых чисел, необходимо сделать сдвиг элементов вправо на K шагов.
👨🏻💻 На наш взгляд, это отличная задача для позиции middle-разработчика. Довольно простая, чтобы мог справиться любой программист. В то же время, количество попыток, после которых алгоритм будет работать корректно, покажет его настоящий уровень.
#task_203 #c_sharp
#task_203 #c_sharp
Medium
UniLecs #Task. Two squares
Задача: художник изобразил два черных квадрата с одинаковой стороной K на квадратном холсте размера N². Квадраты могут пересекаться…
Разбираем всевозможное количество ходов коня на шахматной доске! Задача на использование динамического программирования, смотрим разбор! 👇
#task_204 #c_sharp
#task_204 #c_sharp
Medium
UniLecs #Task. Knight Move
Задача: дана прямоугольная доска N×M (N строк и M столбцов). В левом верхнем углу находится шахматный конь, которого необходимо…
🤗 Прекрасная задача по программированию, никаких сложных алгоритмов тут нет. Нужна лишь внимательность и знание типов данных. Очень часто именно эту задачу можно встретить на технических интервью, поэтому настоятельно рекомендуем порешать ее самостоятельно!
#task_205 #c_sharp
#task_205 #c_sharp
Medium
UniLecs #Task. String to Int
Задача: необходимо реализовать функцию преобразования строки в целое число.
👨🏻💻Задачу можно смоделировать графом, а ее решение свести к одному из известных алгоритмов на графах. Детали смотрите в нашем разборе!
#task_208 #c_sharp
#task_208 #c_sharp
Medium
UniLecs #Task. Currency exchange
Задача: банк одной страны работает с N различными валютами. В банке утверждены курсы обмена любой валюты на любую другую. А именно…
👨🏻💻 Существует много вариантов правил для создания последовательностей, подобных «Посмотри-и-скажи». Например, последовательность «pea pattern». Она отличается от «Посмотри-и-скажи» тем, что для получения нового числа в ней нужно подсчитывать все одинаковые цифры в числе. Начиная с числа 1, получим: 1, 11 (одна единица), 21 (две единицы), 1211 (одна двойка, одна единица), 3112 (три единицы, одна двойка), 132112 (одна тройка, две единицы, одна двойка), 312213 (три единицы, две двойки, одна тройка) и т. д. В итоге, последовательность приходит к циклу из двух чисел, 23322114 и 32232114.
#task_209 #c_sharp
#task_209 #c_sharp
Medium
UniLecs #Task. Count and Say
Задача: последовательность Посмотри-и-скажи (Count and Say) — это последовательность целых чисел с первыми пятью слагаемыми:
👨🏻💻 Связанные списки являются довольно популярной структурой данных и уступают только массивам. Они являются простой реализацией динамических структур данных, использующих указатели для реализации. Понимание работы указателей является необходимым условием для того, чтобы понять связанные списки.
#task_211 #c_sharp
#task_211 #c_sharp
Medium
UniLecs #Task. Merge Two Sorted Lists
Задача: Напишите алгоритм объединения двух отсортированных связанных списков и верните указатель на новый список.
👨🏻💻 Эта задача имеет несколько интересных способов решения. Мы приводим только один из них, остальные попробуйте реализовать самостоятельно!
#task_212 #c_sharp
#task_212 #c_sharp
Medium
UniLecs #Task. Longest Common Prefix
Задача: необходимо реализовать алгоритм поиска наибольшего общего префиска среди массива строк.
🌳 Очень часто при решении задач на деревья используется рекурсия. В данном случае мы также ею воспользуемся для расчета максимальной высоты. Детали реализации смотрите в нашем разборе!
#task_213 #c_sharp
#task_213 #c_sharp
Medium
UniLecs #Task. Maximum Depth of Binary Tree
Задача: необходимо написать алгоритм, который по заданному бинарному дереву найдет его максимальную глубину.
👨🏻💻 Продолжаем цикл задач на связные списки!
Казалось бы, обычная операция на удаление элемента вызывает некоторые сложности в связном списке. Смотрите разбор и реализацию такой операции!
#task_214 #c_sharp
Казалось бы, обычная операция на удаление элемента вызывает некоторые сложности в связном списке. Смотрите разбор и реализацию такой операции!
#task_214 #c_sharp
Medium
UniLecs #Task. Remove Nth Node From End of List
Задача: удалите N-й узел с конца связанного списка и верните обновленный список.