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

Задача 1. Дан список из миллиона слов. Разработайте алгоритм, создающий максимально возможный прямоугольник из букв так, чтобы каждая строка и каждый столбец образовывали слово (при чтении слева направо и сверху вниз). Слова могут выбираться в любом порядке, строки должны быть одинаковой длины, а столбцы — одинаковой высоты.

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

Пример. Дано:

[1, 7, 3, 4]
Получаем:
[84, 12, 28, 21]
Это набор получен в результате перемножений:
[7*3*4, 1*3*4, 1*7*4, 1*7*3]
Дополнительно: Нельзя использовать деление и функция должна быть с наименьшими затратами памяти и времени выполнения.

Задача 3. Дан массив с целыми числами, в том числе и отрицательными, вам нужно найти самое большое произведение 3 чисел из этого массива. Сложность алгоритма должны быть не выше чем O(n).


 Похожие публикации
2016-02-13 • Просмотров [ 350 ]