鞍點

鞍點

中等

簡介

你打算在住家附近的樹林裡蓋一座樹屋,這樣就能欣賞日出和日落。

你向當地的測量公司取得了資料,裡頭記錄了地圖上每個矩形區塊中所有樹木的高度。 你需要分析地圖上的每一個網格,找出最適合蓋樹屋的那棵樹。

最理想的樹,必須比東邊和西邊的其他樹木都高,這樣才能擁有最棒的日出與日落視野。 你不喜歡爬太高,所以這棵完美的樹,還得是北邊和南邊所有樹木中最矮的那一棵。

說明

你的任務是找出所有可能蓋樹屋的樹。

資料公司提供的資料是一格一格的網格,呈現出每棵樹的高度。 網格的列代表東西向,欄則代表南北向。

合格的樹,會是它那一列中最大、同時也是它那一欄中最小的樹。

一個網格可能完全沒有適合的樹,也可能只有一棵,甚至有好幾棵。

下面這個網格剛好只有一棵候選的樹。

1  2  3  4

|----------- 1 | 9 8 7 8 2 | 5 3 2 4 <--- potential tree house at row 2, column 1, for tree with height 5 3 | 6 6 7 1

  • 第 2 列的值是 5、3 和 1。最大的值是 5。
  • 第 1 欄的值是 9、5 和 6。最小的值是 5。

所以[2, 1]這個點(列:2,欄:1)很適合蓋樹屋喔。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Delphi Pascal Exercism

準備好開始 鞍點 了嗎?

註冊 Exercism,透過 76 個練習 和真人引導來學習並精通 Delphi Pascal,全部免費。