Faházat szeretnél építeni a házadhoz közeli erdőben, hogy onnan figyelhesd a napkeltét és a naplementét.
Egy helyi felmérőcégtől olyan adatokat szereztél, amelyek megmutatják, milyen magas a térkép egyes téglalap alakú szakaszain álló összes fa. A térkép minden rácsát elemezned kell, hogy megtaláld a faházadhoz megfelelő fákat.
A jó fa egyszerre két feltételnek is megfelel:
Az a feladatod, hogy megtaláld azokat a lehetséges fákat, amelyekre felépíthetnéd a lombházadat.
Egy adatcég az adatokat rácsok formájában adja meg, amelyek a fák magasságát mutatják. A rács sorai a kelet-nyugati irányt, az oszlopai pedig az észak-déli irányt jelölik.
Egy elfogadható fa a legnagyobb a saját sorában, ugyanakkor a legkisebb az oszlopában.
Lehet, hogy egy rácsban egyáltalán nincs jó fa. De az is lehet, hogy egy van, vagy akár több is.
Íme egy rács, amelyben pontosan egy szóba jöhető fa található.
↓
1 2 3 4
|-----------
1 | 9 8 7 8
→ 2 |[5] 3 2 4
3 | 6 6 7 1
Tehát a [2, 1] pont (sor: 2, oszlop: 1) remek hely egy lombház számára.
A konvenció szerint a Rustban a rendezett értéksorozatok tartalmát 0-tól kezdődően számozzuk („indexeljük”). Ez attól függetlenül érvényes, hogy e README feladatleírásának többi része mit mond, például hogy az indexek 1-től kezdődnek, ezért ezekből az indexszámokból le kell vonnod 1-et, hogy Rust-indexszámokká alakítsd őket.
Ez a feladat vektorok vektorát használja a mátrixok tartalmának tárolására. Bár ezt a feladatot azért tervezték, hogy segítsen a tanulóknak megérteni a vektorokkal kapcsolatos alapvető fogalmakat, például az indexelést, és azt, hogy az egymásba ágyazott adattípusok megengedettek, a vektorok vektora nem optimális választás nagy teljesítményű mátrixalgebrához és hasonló, nagyobb adatmennyiségek hatékony feldolgozásához.
Ennek a nem hatékonyságnak a részletes magyarázata túlmutat e feladat és általában e kurzus keretein. Ez a jelenség cache locality néven ismert, és ha szeretnél többet megtudni egy modern számítógép-architektúra részleteiről, arra a linkre kattintva egy jó bevezetőt találsz hozzá.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Rust nyelvet 99 feladat segítségével, valódi emberi mentorálással, mindez ingyen.