Задача о ленивом электрике

Логическая задача для программистов на поиск оптимального решения для маркирвки кабеля, который находится под землёй. Рассмотрены два варианта решения.

Обложка поста

Король и 1000 бутылок вина: как найти одну отравленную?

Представьте, что вы король, устраивающий большое торжество. Вдруг вы узнаете, что одну из бутылок вина для празднования отравили. Торжество на носу, а бутылок 1000 штук. Как же за 24 часа найти единственную отравленную?

король

События и курсы

Обложка поста

Задача на поиск списка с максимальной суммой элементов

Представим, что у нас есть список со списками и нам нужно найти вложенный список с максимальной суммой элементов. Как бы вы решили эту задачу? Пока вы думаете, давайте рассмотрим несколько возможных вариантов решения на Python от самого громоздкого до «однострочника».

Обложка поста

Нахождение максимума из двух чисел без условных операторов и операторов сравнения

В разборе задачи описано, как без использования условных операторов (if/else) и любых других операторов сравнения, найти максимальное из двух чисел. Код приведён на языке C++.

Вакансии

VK Cup 2018

VK Cup 2018: разбор задач первого квалификационного тура

Основная тематика конкурса VK Cup — классические алгоритмические олимпиадные задачи. В 2018 году организаторы также обещают превратить некоторые головоломки в «смелые эксперименты, расширяющие этот жанр».

Задачка на Python: расшифруйте строку

Для разминки мозга и улучшения знания языка полезно порешать какие-нибудь задачки. В этой задаче будем разгадывать шифр на Python несколькими способами.

python
Обложка поста

Задача на поиск элемента в массиве

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

Задача по проектированию чат-сервера

Как бы вы подошли к проектированию чат-сервера? Предоставьте информацию о компонентах внутренней системы (backend), классах и методах. Перечислите самые трудные задачи, которые необходимо решить.

Обложка поста
Обложка поста

Задача на операцию с битами

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

Задача: спроектируйте и реализуйте хэш-таблицу

Хэш-таблица — это структура данных. Она позволяет хранить пары (ключ, значение) и выполнять три операции: операцию добавления новой пары, операцию поиска и операцию удаления пары по ключу. Спроектируйте и реализуйте хэш-таблицу, использующую связные списки для обработки коллизий.

Хэш-таблица
стопка

Задачи на реализацию стеков с очередями

Как известно, слишком высокая стопка тарелок может развалиться. Следовательно, в реальной жизни, когда высота стопки превысила бы некоторое пороговое значение, мы начали бы складывать тарелки в новую стопку. Реализуйте структуру данных SetofStacks, имитирующую реальную ситуацию.

Задача: игра «Гениальный отгадчик»

Напишите метод, который возвращает число «хитов» и «псевдохитов».

Задача про стопку монет

Если вы получили бы стопку монет достоинством в один пенс каждая и высотой с Эмпайр-стейт-билдинг, поместились бы все эти деньги в одном помещении?

Обложка поста

Разбор задачки о львах и людях: как перевезти всех с одного берега на другой так, чтобы львы не съели людей?

На одной стороне реки находятся три человека и три льва. Все они должны оказаться на другом берегу реки. Есть лишь одна лодка, в которой могут поместиться лишь два живых существа…

Обложка поста

Обмен значений переменных: разбор популярных способов решения известной задачи с IT-собеседований

Семь способов, позволяющих решить одну из самых популярных задач на собеседованиях — выполнить обмен значений между двумя переменными…

Обложка поста
Обложка поста

Олимпиада «Технокубок»: разбор задач финального раунда

Подробный разбор всех задач, предложенных участникам финального раунда олимпиады по программированию Технокубок.

150 000 рублей за первое место: готовимся к Russian Code Cup, разбирая решения задач предварительного тура

Российский чемпионат по спортивному программированию Russian Code Cup 2017 стартует 19 марта. Талантливые программисты со всего мира вновь будут соревноваться в правильности и скорости решения задач и поборются за призовой…

Russian Code Cup
Задачки по программированию

Построить алгоритм выбора случайного элемента из последовательности, чтобы каждый элемент мог оказаться выбранным с равной вероятностью

Разбор задачи с собеседования в Яндекс: за один проход выбрать случайный элемент последовательности так, чтобы каждый элемент мог быть выбран с равной вероятностью.

Задачки с IT-собеседований

Найти три числа, которые встречаются в массиве по одному разу, при условии, что все другие числа встречаются по два раза

Пусть у нас есть массив положительных чисел, в котором все числа, кроме трех, встречаются по 2 раза, а эти три числа отличны от всех остальных и встречается каждое ровно по…

Задачка по программирования

Задача о нахождении средней зарплаты трех работников при ограничении на передаваемую между ними информацию

Рассмотрим ситуацию, когда работники хотят вычислить свою среднюю зарплату при условии, что каждый знает свою зарплату, но не может сообщить ее другому напрямую. Обмен информации между людьми возможен, но передаваемые…

Задача на перегрузку функций в C++, которая может оказаться сложнее, чем выглядит

Предположим, у нас есть два класса:…

Обложка поста
Обложка поста

14 алгоритмических задач с разбором решений — итоги «Технокубка» 2017

Технокубок — это олимпиада по программированию, организованная Mail.Ru Group, МГТУ им. Н. Э. Баумана и МФТИ для учеников 8-11 классов, а также потенциальная возможность попасть в лучшие технические вузы благодаря…

Задача о самолете на ленте транспортера: взлетит или не взлетит?

Одна из самых известных задач Интернета, будоражащая многие светлые умы человечества. Ее формулировка такова: самолет стоит на взлетной полосе с подвижным покрытием типа транспортера. Покрытие может двигаться против направления взлета…

Обложка поста

Находим N’е число Фибоначчи тремя способами за приемлемое время: основы динамического программирования

Задача: посчитать N-е число последовательности, в которой каждый элемент равен сумме двух предыдущих. Такая последовательность называется последовательностью Фибоначчи: 1, 1, 2, 3, 5, 8……

Обложка поста
Обложка поста

Задачка: пересекутся ли две заданные прямые, лежащие в одной плоскости?

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

Обложка поста

Подсчитайте, сколько денег понадобится на мытье всех окон в Сиэтле

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

Обложка поста

Как сделать «двойной break», то есть выйти из вложенного цикла, в Python?

Условие: Перебрать все пары символов в строке, и остановиться при нахождении двух одинаковых символов.

Обложка поста

Как одной математической формулой по номеру месяца посчитать количество дней в нем?

Рассказывает Куртис МакЭнроэ  Недавно после длительного времени, проведенного без сна, я задумался над тем, как можно узнать количество дней в месяце, зная его номер. Существуют детские стишки на эту тему…

Обложка поста

Задача на поиск «волшебного» индекса в массиве

В массиве случайных чисел A[0…n-1] задан один «волшебный» индекс: такой, что A[i] = i. Значения элементов в массиве повторяться не могут. Учитывая, что массив отсортирован по значениям в порядке возрастания, напишите метод, который определит этот…

Посчитайте количество вложенных друг в друга отрезков

На прямой даны N отрезков (в реальной жизни это могут быть промежутки времени, например), которые заданы координатами их левого и правого конца. Для каждого данного отрезка необходимо узнать, сколько из…

Обложка поста

Напишите программу, проверяющую число на четность, используя только битовые операции

В этой задаче вам необходимо реализовать функцию, которая бы проверяла число на четность, используя только битовые операции AND, OR, NOT.

Обложка поста

Реализуйте свою функцию нахождения квадратного корня

Реализуйте функцию нахождения квадратного корня, не используя предоставляемые языком функции возведения в степень и извлечения корня.

Обложка поста