Menu
CoddyTech
flag Ar iconالعربيةdown icon

Unique Paths

يبدأ روبوت في الخلية العلوية اليسرى من شبكة تضم m صفوفًا وn أعمدة، وعليه الوصول إلى الخلية السفلية اليمنى. تنقله كل حركة خلية واحدة إلى اليمين أو خلية واحدة إلى الأسفل. أعد عدد المسارات المختلفة التي يمكنه سلوكها.

الدالة

uniquePaths(m: integer, n: integer) → integer
minteger
عدد الصفوف في الشبكة
ninteger
عدد الأعمدة في الشبكة
تُرجعinteger
عدد المسارات المختلفة من الخلية العلوية اليسرى إلى الخلية السفلية اليمنى

القيود

  • 1 ≤ m, n ≤ 100
  • الإجابة لا تتجاوز 2 × 109، لذا فهي تتسع في عدد صحيح موقّع من 32 بت.

أمثلة

المدخلات
m = 3n = 4
المخرجات
10
الشرح
يتكوّن كل مسار من حركتين إلى الأسفل و3 حركات إلى اليمين، أي 5 حركات إجمالًا. ويتحدد المسار باختيار الحركتين اللتين تتجهان إلى الأسفل من بين الحركات الخمس، وهناك 10 طرق لاختيارهما.

lock icon+14 اختبارات مخفية عند الإرسال

challenge icon

سؤال إضافي

بالنسبة إلى شبكة بحجم 100 × 100، يتكوّن الجواب من 59 رقمًا. كيف ستحسبه بترديده modulo 10^9+7 باستخدام الصيغة، عندما لا تعود القسمة على i تنجح؟

إعادة ضبط الشيفرة
def uniquePaths(m, n):
    # اكتب الكود هنا
حالات الاختبار

الحالة 1

الحالة 2

الحالة 3

المدخلات

m = 3
n = 4

المتوقع

10