نقاط السرج

نقاط السرج

صعب

مقدمة

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

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

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

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

التعليمات

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

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

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

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

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

      ↓
      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) موقع رائع لبناء بيت شجرة.

  • يحتوي عمود matrix على المدخلات، وهي مصفوفة مُرمّزة بصيغة JSON من مصفوفات الأعداد الصحيحة.
  • يجب أن تحتوي أعمدة result على المخرجات، أي قائمة نقاط السرج. ويجب أن يكون المخرَج مصفوفة مُرمّزة بصيغة JSON من كائنات، ولكل كائن مفتاحان: row و column. على سبيل المثال، [{"row": 2, "column": 1}].

توثيق JSON

راجع دوال ومشغلات JSON للاطلاع على دوال JSON في SQLite.

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

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

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