Итак, это не мой домашний вопрос работы, но он взят из неклассифицированной домашней работы курса coursera по алгоритмам и структурам данных (которые теперь завершены).
Вам предоставляется n на n сетку различных чисел. Число является локальным минимумом, если оно меньше всех его соседей. (Сосед числа - это тот, что находится выше, внизу, слева или справа. В большинстве номеров есть четыре соседи, цифры на стороне имеют три, четыре угла - два.) Используйте алгоритм алгоритма разделения и покоя парадигма для вычисления локального минимума с использованием только O (n) сравнений между парами чисел. (Примечание: поскольку на входе есть n 2 чисел, вы не можете позволить себе взглянуть на все из них. Подсказка: подумайте о том, какие типы повторений дадут вам желаемую верхнюю границу.)
Так как числа не в каком-либо порядке, я не вижу, как мы можем уйти с чем-либо, кроме сравнений O (n 2).