Например:Как найти минимальное количество групп, необходимых для группировки списка элементов?
Существует список элементов, например. сортированный целочисленный список {1,2,3,4,6,8,11}.
Я хочу найти минимальное количество групп, в которых каждый член в группе имеет квалифицированное различие между собой, например. меньше или равно 2 друг другу.
В этом случае мы можем видеть, что ответ должен быть 4, а одно из возможных решений - {1,2,3}, {4,6}, {8}, {11}.
Как написать алгоритм, чтобы найти минимальное число?
Кроме того, мы можем рассмотреть это в 2 размерности:
Существует список точек {(3,3), (3,6), (6,9)}. Каково минимальное количество квадратов с длиной 3, которые мне нужно будет использовать, чтобы покрыть все эти точки? Ответ должен быть здесь 2. Но как найти его по программированию?
Я задаю этот вопрос для решения вопроса Square Fields в Google Code Jam Practice Contest, но любой ответ, решающий первую часть этого вопроса, достаточно для меня.
Спасибо! Я не думал, что это можно решить таким простым способом. Это замечательно = D –
Это отличное решение для хорошего рассмотрения двухмерной проблемы - это следовать решению @ timrau, но заменить левый налево и вверх. Goodluck (для упражнения рассмотрим {(1,1), (2,2), (3,3), (4,4), (6,6), (8,8), (11,11)}) – clancer