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

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

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

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

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

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

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

Задача про бесконечный поезд

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

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

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

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

Вакансии

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

Вам нужно подняться по лестнице. За один раз можно подняться на одну или две ступеньки. Сколько существует способов добраться до N-й ступеньки?

Начало здесь простое. Вы стоите на лестничном марше и хотите подняться на первую ступеньку — № 1. Для этого надо сделать всего одно действие — подняться на одну ступеньку вверх. Теперь давайте…

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

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

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

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

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

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

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

Задача про акции Apple

Задача, которую давали на собеседованиях в Apple. От вас требуется написать функцию, которая возвращает максимальную прибыль от одной сделки с одной акцией (сначала покупка, потом продажа). Исходные данные — массив вчерашних котировок stock_prices_yesterday с ценами…

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

Что могут спросить на собеседовании: подборка задач Ферми

Для решения некоторых задач требуются вычисления высочайшей точности. Однако множество других задач допускает приближенное решение. Физики гордятся тем, что могут быстро ответить на вопросы, требующие ответа «с точностью до порядка»…

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

Представьте страну, где все родители хотят иметь мальчика. Каждая семья продолжает рожать детей до тех пор, пока у них не появляется мальчик, а затем останавливается. Каково соотношение мальчиков и девочек…

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

Задача о максимальном произведении трех чисел массива

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

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

Разработайте план эвакуации жителей Сан-Франциско

Такой вопрос на самом деле не лишен практического смысла. В 2006 году в Карте отчета об эвакуации в чрезвычайной ситуации, составленной Союзом пользователей американских автодорог, Канзасу была присвоена степень А…

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

Задача на поиск пути в реальной жизни

Допустим, у вас есть такая задача: вам необходимо добраться из точки А в точку В, и вы не знаете, как туда можно попасть. Что вы сделаете в этом случае? Ответ…

Задача о преобразовании массива с целыми числами

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

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

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

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

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

Разработайте алгоритм, позволяющий найти k-e число из упорядоченного числового ряда, в разложении элементов которого на простые множители присутствуют только 3, 5 и 7

По условию задачи любое число этого ряда должно представлять собой произведение 3a · 5b · 7c. Давайте посмотрим на список чисел, удовлетворяющих нашим требованиям:…

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

Задача на поиск субматрицы с наибольшей суммой элементов

Полное условие задачи звучит так: дана матрица размером N*N, содержащая положительные и отрицательные числа. Напишите код поиска субматрицы с максимально возможной суммой. Существует множество решений этой задачи. Мы начнем с…

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

Как сгенерировать неповторяющиеся комбинации, меняя только один элемент за раз

Полное условие задачи звучит так: «У вас есть пустое помещение и группа людей снаружи. За один ход вы можете либо позволить одному человеку войти в помещение, либо выпустить из него…

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

Перед вами три коробки, в какой из них находится приз?

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

Умный указатель на C++

Умный (интеллектуальный) указатель — это тот же обычный указатель, обеспечивающий безопасность благодаря автоматическому управлению памятью. Такой указатель помогает избежать множества проблем: «висячие» указатели, «утечки» памяти и отказы в выделении памяти.

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

Объясните разницу между шаблонами в C++ и дженериками в Java

Многие программисты полагают, что шаблоны C++ и дженерики (например в Java) — это одно и то же, ведь их синтаксис похож: в обоих случаях можно написать что-то вроде List<T>. Чтобы…

ППП, ППК, ПКК, ПП и другие

Популярная задача с собеседований Amazon. Мы русифицировали её, но смысл остался тот же. Вам нужно продолжить последовательность.

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

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

Есть однонаправленный список из структур. В нём random указывает на какой-то еще элемент этого же списка. Требуется написать функцию, которая копирует этот список с сохранением структуры (т.е. если в старом…

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

Как использовать погнутую монету

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

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

Что не так в этом отрывке кода на С++?

Есть следующий код, но в нём имеется некоторая проблема. operator int() const { return *this; }…

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

Cколько мячей для гольфа войдет в школьный автобус?

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

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

Pure virtual function call

Вопрос по С++. Что за ошибка «pure virtual function call»? В какой ситуации она может быть сгенерирована? Предоставьте минимальный код, приводящий к ней. Те, кто столкнулись с этой ошибкой в…

Классическая задачка с собеседований Google: продолжите последовательность

Классическая задача с собеседований Google, в которой вам нужно продолжить последовательность чисел. Подробно разбираем все варианты решений в нашей статье.

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

Логическая задача про самолёт

Разбираем логическую задачу про самолёт из книги «Действительно ли Вы достаточно умны, чтобы работать в Google?» Проверьте себя и посмотрите решение!

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

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

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

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

В чём разница между string и String в C#?

Ответ на самом деле очень прост: string — это просто псевдоним (alias) для System.String т.е. технически, никакой разницы нет. Так же, как и нет разницы между int и System.Int32. Что…

У вас есть аналоговые часы с секундной стрелкой. Сколько раз в день все три стрелки часов накладываются друг на друга?

Сколько раз в день все три стрелки аналоговых часов накладываются друг на друга? Решение задачи и ответ, который хотят услышать на собеседовании в Google.

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