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

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

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

2
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Задачки с IT-собеседований

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

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

1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Соберите сервер из комплектующих
Задачка по программирования

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

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

2
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji

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

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

1
1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
3
3
emoji
Обложка: Задача на перегрузку функций в C++, которая может оказаться сложнее, чем выглядит
Обложка: 14 алгоритмических задач с разбором решений — итоги «Технокубка» 2017

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

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

5
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji

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

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

3
4
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji
Обложка: Задача о самолете на ленте транспортера: взлетит или не взлетит?

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

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

11
reaction
0
reaction
0
reaction
0
reaction
0
reaction
5
5
emoji
Обложка: Находим N’е число Фибоначчи тремя способами за приемлемое время: основы динамического программирования
Обложка: Задачка: пересекутся ли две заданные прямые, лежащие в одной плоскости?

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

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

2
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji
Обложка: Подсчитайте, сколько денег понадобится на мытье всех окон в Сиэтле

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

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

1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji
Обложка: Как сделать «двойной break», то есть выйти из вложенного цикла, в Python?

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

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

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

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

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

6
reaction
0
reaction
0
reaction
0
reaction
0
reaction
2
2
emoji

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

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

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

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

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

6
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji
Обложка: Посчитайте количество вложенных друг в друга отрезков

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

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

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

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

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

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

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

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

1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji

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

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

1
1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji
Обложка: Задача про комнату с лампочками
Обложка: Задача про бесконечный поезд

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

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

2
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji

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

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

1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Задача про воду, накапливающуюся между стенами
Обложка: Вам нужно подняться по лестнице. За один раз можно подняться на одну или две ступеньки. Сколько существует способов добраться до N-й ступеньки?

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

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

2
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji
Обложка: Задача про кассира-программиста

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

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

1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Задача про слияние промежутков в календаре

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

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

4
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Задача про акции Apple

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

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

3
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Что могут спросить на собеседовании: подборка задач Ферми

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

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

2
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji

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

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

1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Задачка про страну с мальчиками и девочками

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

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

5
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Задача о максимальном произведении трех чисел массива
Обложка: Разработайте план эвакуации жителей Сан-Франциско

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

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

1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Задача на поиск пути в реальной жизни

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

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

1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji

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

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

6
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Задача на составление прямоугольника из слов одинаковой длины

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

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

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

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

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

2
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji
Обложка: Задача на поиск субматрицы с наибольшей суммой элементов

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

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

2
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji