تخطط لبناء بيت شجرة في الغابة القريبة من منزلك، حتى تتمكن من مشاهدة شروق الشمس وغروبها.
لقد حصلت على بيانات من شركة مسح محلية تُظهر ارتفاع كل شجرة في كل قسم مستطيل من الخريطة. وتحتاج إلى تحليل كل شبكة على الخريطة للعثور على أشجار جيدة لبيت الشجرة خاصتك.
الشجرة الجيدة تحقق الأمرين معًا:
مهمتك هي العثور على الأشجار المحتملة التي يمكنك أن تبني عليها بيت شجرتك.
توفّر شركة البيانات بياناتها على هيئة شبكات تُظهر ارتفاعات الأشجار. تمثّل صفوف الشبكة اتجاه الشرق والغرب، وتمثّل الأعمدة اتجاه الشمال والجنوب.
الشجرة المقبولة هي الأكبر في صفها، مع كونها الأصغر في عمودها.
قد لا تحتوي الشبكة على أي أشجار جيدة على الإطلاق. أو قد تحتوي على شجرة واحدة، أو حتى عدة أشجار.
إليك شبكة تحتوي على شجرة مرشّحة واحدة بالضبط.
↓
1 2 3 4
|-----------
1 | 9 8 7 8
→ 2 |[5] 3 2 4
3 | 6 6 7 1
إذن النقطة عند [2, 1] (الصف: 2، العمود: 1) موقع رائع لبناء بيت شجرة.
بحسب الاصطلاح، تُرقَّم محتويات التسلسلات المرتبة للقيم في Rust (فهرسة) بدءًا من 0. وينطبق هذا بغض النظر عما يقوله بقية وصف التمرين في ملف README هذا، مثل الإشارات إلى فهارس تبدأ من 1، لذا ستحتاج إلى طرح 1 لتحويل أرقام الفهارس تلك إلى أرقام فهارس Rust.
يستخدم هذا التمرين متجهًا من المتجهات لتخزين محتوى المصفوفات. وبينما صُمِّم هذا التمرين لمساعدة الطلاب على فهم المفاهيم الأساسية حول المتجهات، مثل الفهرسة، وأن أنواع البيانات المتداخلة مسموحة، فإن متجه من المتجهات يُعد اختيارًا غير مثالي لجبر المصفوفات عالي الأداء وأي معالجة فعّالة مماثلة لكميات أكبر من البيانات.
إن الشرح المفصل لقصور الكفاءة هذا خارج نطاق هذا التمرين وهذا المسار التعليمي عمومًا. تُعرف هذه الناحية باسم محلية الذاكرة المؤقتة، ويمكنك العثور على مقدمة جيدة لها بالنقر على ذلك الرابط إذا أردت معرفة المزيد عن تفاصيل بنية الحاسوب الحديثة.
سجّل في Exercism لتتعلّم وتتقن Rust عبر 99 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.