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

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

Середня

Вступ

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

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

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

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

Вказівки

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

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

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

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

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

      ↓
      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) - чудове місце для будиночка на дереві.

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

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

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