نقاط السرج

نقاط السرج

متوسط

مقدمة

تخطط لبناء بيت شجرة في الغابة القريبة من منزلك، حتى تتمكن من مشاهدة شروق الشمس وغروبها.

لقد حصلت على بيانات من شركة مسح محلية تُظهر ارتفاع كل شجرة في كل قسم مستطيل من الخريطة. وتحتاج إلى تحليل كل شبكة على الخريطة للعثور على أشجار جيدة لبيت الشجرة خاصتك.

الشجرة الجيدة تحقق الأمرين معًا:

  • أن تكون أطول من كل شجرة إلى الشرق والغرب، حتى تكون لديك أفضل إطلالة ممكنة على الشروق والغروب.
  • وأن تكون أقصر من كل شجرة إلى الشمال والجنوب، لتقليل مقدار التسلق على الأشجار.

التعليمات

مهمتك هي العثور على الأشجار المحتملة التي يمكنك أن تبني عليها بيت شجرتك.

توفّر شركة البيانات بياناتها على هيئة شبكات تُظهر ارتفاعات الأشجار. تمثّل صفوف الشبكة اتجاه الشرق والغرب، وتمثّل الأعمدة اتجاه الشمال والجنوب.

الشجرة المقبولة هي الأكبر في صفها، مع كونها الأصغر في عمودها.

قد لا تحتوي الشبكة على أي أشجار جيدة على الإطلاق. أو قد تحتوي على شجرة واحدة، أو حتى عدة أشجار.

إليك شبكة تحتوي على شجرة مرشّحة واحدة بالضبط.

      ↓
      1  2  3  4
    |-----------
  1 | 9  8  7  8
→ 2 |[5] 3  2  4
  3 | 6  6  7  1
  • الصف 2 يحتوي على القيم 5 و3 و2 و4. أكبر قيمة هي 5.
  • العمود 1 يحتوي على القيم 9 و5 و6. أصغر قيمة هي 5.

إذن النقطة عند [2, 1] (الصف: 2، العمود: 1) موقع رائع لبناء بيت شجرة.

فهارس Rust تبدأ من 0

بحسب الاصطلاح، تُرقَّم محتويات التسلسلات المرتبة للقيم في Rust (فهرسة) بدءًا من 0. وينطبق هذا بغض النظر عما يقوله بقية وصف التمرين في ملف README هذا، مثل الإشارات إلى فهارس تبدأ من 1، لذا ستحتاج إلى طرح 1 لتحويل أرقام الفهارس تلك إلى أرقام فهارس Rust.

تنبيه بشأن الكفاءة

يستخدم هذا التمرين متجهًا من المتجهات لتخزين محتوى المصفوفات. وبينما صُمِّم هذا التمرين لمساعدة الطلاب على فهم المفاهيم الأساسية حول المتجهات، مثل الفهرسة، وأن أنواع البيانات المتداخلة مسموحة، فإن متجه من المتجهات يُعد اختيارًا غير مثالي لجبر المصفوفات عالي الأداء وأي معالجة فعّالة مماثلة لكميات أكبر من البيانات.

إن الشرح المفصل لقصور الكفاءة هذا خارج نطاق هذا التمرين وهذا المسار التعليمي عمومًا. تُعرف هذه الناحية باسم محلية الذاكرة المؤقتة، ويمكنك العثور على مقدمة جيدة لها بالنقر على ذلك الرابط إذا أردت معرفة المزيد عن تفاصيل بنية الحاسوب الحديثة.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Rust Exercism

مستعد لبدء نقاط السرج؟

سجّل في Exercism لتتعلّم وتتقن Rust عبر 99 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.