日の出と日の入りを眺めるために、家の近くの森にツリーハウスを建てる計画を立てています。
地元の調査会社から、地図の長方形の区画ごとに、そこにあるすべての木の高さを示すデータを入手しました。 ツリーハウスにふさわしい木を見つけるために、地図上の各グリッドを分析する必要があります。
よい木とは、次の2つの条件をどちらも満たす木です。
ツリーハウスを建てられそうな木を探すのが、今回の課題です。
データ会社は、木の高さを表すグリッドという形でデータを提供してくれます。グリッドの行は東西方向を、列は南北方向を表します。
条件に合う木は、その行の中で最も大きく、かつその列の中で最も小さい木です。
グリッドによっては、条件に合う木が1本もないこともあります。1本だけのこともあれば、複数あることもあります。
次のグリッドには、候補となる木がちょうど1本あります。
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, 1]の位置(行: 2、列: 1)は、ツリーハウスを建てるのに絶好のスポットです。
実装では、座標をどのような順番で返してもかまいません。