Ми плануємо збудувати будиночок на дереві в лісі неподалік від нашого дому, щоб спостерігати за сходом і заходом сонця.
Ми отримали дані від місцевої геодезичної компанії про висоту кожного дерева в кожній прямокутній ділянці карти. Нам потрібно проаналізувати кожну сітку на карті, щоб знайти гарні дерева для нашого будиночка на дереві.
Гарне дерево має бути одночасно:
Наше завдання - знайти потенційні дерева, на яких можна збудувати будиночок.
Компанія з даних надає дані у вигляді сіток, які показують висоти дерев. Рядки сітки відповідають напрямку схід-захід, а стовпці - напрямку північ-південь.
Придатним буде дерево, найбільше у своєму рядку і водночас найменше у своєму стовпці.
У сітці може взагалі не бути хороших дерев. Або може бути одне, або навіть кілька.
Ось сітка, у якій є рівно одне дерево-кандидат.
↓
1 2 3 4
|-----------
1 | 9 8 7 8
→ 2 |[5] 3 2 4
3 | 6 6 7 1
Отже, точка [2, 1] (рядок: 2, стовпець: 1) - чудове місце для будиночка на дереві.
[{"row": 2, "column": 1}].Про функції JSON у SQLite докладніше розказано в Функції та оператори JSON.