Du hast vor, in den Wäldern in der Nähe deines Hauses ein Baumhaus zu bauen, damit du den Sonnenaufgang und den Sonnenuntergang beobachten kannst.
Du hast Daten von einem örtlichen Vermessungsbüro erhalten, die die Höhe jedes Baums in jedem rechteckigen Abschnitt der Karte angeben. Du musst jedes Raster auf der Karte analysieren, um gute Bäume für dein Baumhaus zu finden.
Ein guter Baum erfüllt beides:
Deine Aufgabe ist es, die möglichen Bäume zu finden, auf denen du dein Baumhaus bauen könntest.
Die Datenfirma stellt die Daten als Raster bereit, die die Höhen der Bäume zeigen. Die Zeilen des Rasters verlaufen in Ost-West-Richtung, die Spalten in Nord-Süd-Richtung.
Ein geeigneter Baum ist der größte in seiner Zeile und gleichzeitig der kleinste in seiner Spalte.
Ein Raster hat vielleicht gar keine guten Bäume. Oder es hat einen, oder sogar mehrere.
Hier ist ein Raster mit genau einem Kandidatenbaum.
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
Der Punkt bei [2, 1] (Zeile: 2, Spalte: 1) ist also ein großartiger Platz für ein Baumhaus.
Melde dich bei Exercism an, um Scala mit 95 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.