نقاط السرج

نقاط السرج

متوسط

مقدمة

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

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

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

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

التعليمات

مهمتك هي إيجاد الأشجار المحتملة التي يمكنك بناء بيت الشجرة عليها.

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

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

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

وهذه شبكة فيها شجرة مرشحة واحدة بالضبط.

    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 يحتوي على القيم 5، و3، و2، و4. وأكبر قيمة فيه هي 5.
  • العمود 1 يحتوي على القيم 9، و5، و6. وأصغر قيمة فيه هي 5.

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

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

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

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