Треки
/
SQLite
SQLite
/
Вправи
/
Сідлові точки
Сідлові точки

Сідлові точки

Складна

Вступ

Ми плануємо збудувати будиночок на дереві в лісі неподалік від нашого дому, щоб спостерігати за сходом і заходом сонця.

Ми отримали дані від місцевої геодезичної компанії про висоту кожного дерева в кожній прямокутній ділянці карти. Нам потрібно проаналізувати кожну сітку на карті, щоб знайти гарні дерева для нашого будиночка на дереві.

Гарне дерево має бути одночасно:

  • вищим за всі дерева на схід і на захід від нього, щоб мати якомога кращий вид на схід і захід сонця;
  • нижчим за всі дерева на північ і на південь від нього, щоб якомога менше доводилося лазити по деревах.

Вказівки

Наше завдання - знайти потенційні дерева, на яких можна збудувати будиночок.

Компанія з даних надає дані у вигляді сіток, які показують висоти дерев. Рядки сітки відповідають напрямку схід-захід, а стовпці - напрямку північ-південь.

Придатним буде дерево, найбільше у своєму рядку і водночас найменше у своєму стовпці.

У сітці може взагалі не бути хороших дерев. Або може бути одне, або навіть кілька.

Ось сітка, у якій є рівно одне дерево-кандидат.

      ↓
      1  2  3  4
    |-----------
  1 | 9  8  7  8
→ 2 |[5] 3  2  4
  3 | 6  6  7  1
  • У рядку 2 є значення 5, 3, 2 і 4. Найбільше значення - 5.
  • У стовпці 1 є значення 9, 5 і 6. Найменше значення - 5.

Отже, точка [2, 1] (рядок: 2, стовпець: 1) - чудове місце для будиночка на дереві.

  • Стовпець matrix містить вхідні дані: закодований у JSON масив масивів цілих чисел.
  • Стовпці result повинні містити вихідні дані: масив сідлових точок. Вихідні дані мають бути закодованим у JSON масивом обʼєктів, кожен обʼєкт має два ключі: row і column. Наприклад, [{"row": 2, "column": 1}].

Документація JSON

Про функції JSON у SQLite докладніше розказано в Функції та оператори JSON.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
SQLite Exercism

Час розпочати Сідлові точки?

Зареєструйтеся на Exercism, щоб вивчати й опановувати SQLite, а також 81 вправа та справжнє наставництво від людей, і все це безкоштовно.