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

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

Обложка: Задача о ленивом электрике
Обложка: Задача на поиск списка с максимальной суммой элементов

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

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

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

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

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

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

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

Обложка: Задачка на Python: расшифруйте строку
Обложка: Задача на поиск элемента в массиве

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

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

Обложка: Задача на операцию с битами

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

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

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

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

Хэш-таблица
Обложка книги Скрам. Революционный метод управления проектами

Скрам. Революционный метод управления проектами

Скрам. Революционный метод управления проектами

Книга, которая обязательна к прочтению не только менеджерам проектов, но и тем, кто эти проекты выполняет и кого пытаются «аджализировать».

Читать разбор книги
стопка

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

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

Обложка: Достаточно ли вы умны, чтобы работать в IT?

Достаточно ли вы умны, чтобы работать в IT?

Сможете ли вы пройти IT-собеседование? Чтобы вы проверили свои силы, мы подготовили для вас викторину из популярных задачек с IT-собеседований с разборами.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обложка: Задача о самолете на ленте транспортера: взлетит или не взлетит?
Обложка: Как сделать «двойной break», то есть выйти из вложенного цикла, в Python?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Найдите максимальную по длине палиндромную подстроку

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

Задача про воду, накапливающуюся между стенами

Эту задачу задавали на собеседовании в Twitter.

Обложка: Задача про воду, накапливающуюся между стенами
Обложка: Задача про кассира-программиста

Задача про кассира-программиста

Задача, которую давали на собеседованиях в Apple. Представьте, что вы получили работу кассира в магазине. Ваш босс случайно выяснил, что вы обладаете навыками программиста, и захотел, чтобы вы помогли ему написать…

Обложка: 123 задачи с IT-собеседований с разбором решений

123 задачи с IT-собеседований с разбором решений

Самые популярные задачи с IT-собеседований — более 100 логических задач, IT-кейсов и заданий по разработке для профессиональных программистов (с ответами!).

Как вычислить 2 в 64 степени, не пользуясь калькулятором?

Разбираем несколько вариантов вычисления 2 в 64 степени без калькулятора. Как посчитать примерно и быстро или найти точное число, с ходом решения и ответом.

Обложка: Как вычислить 2 в 64 степени, не пользуясь калькулятором?

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

Это довольно сложная, но очень популярная задача. Давайте решим ее на примере массива: 2 3 -8 -1 2 4 -2 3 Если рассматривать массив как содержащий чередующиеся последовательности положительных и…

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

В этом выпуске рассмотрим классическую задачу, известную под названием «Золотая гора». На CheckiO её реализовали в этой задаче. Представьте себе треугольник, составленный из чисел. Одно число расположено в вершине. Ниже размещено два…

Обложка: Золотая пирамида — задача про треугольник, составленный из чисел

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

Это классическая задача, которую любят предлагать на собеседованиях, и она достаточно проста. Пусть a0 — это исходное значение a, а b0 — исходное значение b. Обозначим diff разницу а0 -…

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