0Pricing
Coding Interview Prep · درس

تصحيح الأخطاء بسرعة: اختبارات الضغط والفرز

روتين من WA إلى AC تحت ضغط الوقت

تصحيح الأخطاء بسرعة: اختبارات الضغط والفرز درس مجاني في Coding Interview Prep على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Coding Interview Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.

الوقت يداهمكم

في المسابقة، تكون الإجابة الخاطئة لغزًا يجب حلّه بسرعة. ويتفوق الأسلوب المنهجي الهادئ على التخمين المذعور في كل مرة. ⏱️

اقرؤوا الحكم أولًا

دعوا الحكم يوجهكم. يشير WA إلى منطق خاطئ، وTLE إلى بطء الحل، بينما يشير RE إلى انهيار مثل خطأ في الفهرس.

فرز أسباب TLE

عند ظهور TLE، أعيدوا فحص التعقيد مقارنة بالقيود. وغالبًا ما تكون حلقة متداخلة خفية أو إدخال بطيئًا هي السبب.

فرز أسباب RE

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

فرز أسباب WA

عند ظهور إجابة خاطئة، اشتبهوا أولًا في الحالات الحدية: مدخل فارغ، أو N تساوي 1، أو قيم متساوية جميعًا، أو الحدود القصوى.

اكتبوا حلًا بالقوة الغاشمة

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

ولّدوا اختبارات عشوائية

اكتبوا مولّدًا صغيرًا يطبع مدخلات عشوائية ضمن حدود صغيرة. تكشف الحالات الصغيرة الأخطاء دون أن تربككم.

import random
n = random.randint(1, 6)
print(n)
print(*[random.randint(1, 9) for _ in range(n)])

اختبروا الحلين تحت الضغط

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

for _ in range(1000):
    inp = gen()
    if solve(inp) != brute(inp):
        print("FAIL", inp); break

صغّروا المثال المضاد

بعد الحصول على حالة فاشلة، اجعلوها صغيرة قدر الإمكان. فمن الأسهل بكثير قراءة خطأ في عنصرين من قراءة خطأ في مئة عنصر.

اطبعوا الحالة وافحصوها

أضيفوا عمليات طباعة سريعة إلى stderr حتى لا تلوث المخرجات. راقبوا متغيراتكم في حالة الفشل الصغيرة.

import sys
print("dp =", dp, file=sys.stderr)

اعرفوا متى تنتقلون

إذا عطلتكم مسألة ما، انتقلوا إلى أخرى ثم عودوا إليها لاحقًا. فالنظرة الجديدة والوقت الموفر يحققان نقاطًا أكثر إجمالًا.

تحقق سريع

تحصلون باستمرار على WA في مسألة ولا تعرفون السبب. ما الخطوة التالية الأكثر موثوقية؟

مراجعة

اقرؤوا الحكم، وفرزوا المشكلة حسب نوعها، ثم اختبروا الحل تحت الضغط بمقارنته بالقوة الغاشمة للعثور على حالة فشل صغيرة. حافظوا على الهدوء وفرزوا المشكلة بذكاء. 🧰

الأسئلة الشائعة

هل درس «تصحيح الأخطاء بسرعة: اختبارات الضغط والفرز» مجاني؟

نعم — نص درس «تصحيح الأخطاء بسرعة: اختبارات الضغط والفرز» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Coding Interview Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.

ماذا ستتعلم في «تصحيح الأخطاء بسرعة: اختبارات الضغط والفرز»؟

روتين من WA إلى AC تحت ضغط الوقت تتمرن على Coding Interview Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Coding Interview Prep؟

لا تُشترط خبرة سابقة. Coding Interview Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «تصحيح الأخطاء بسرعة: اختبارات الضغط والفرز»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Coding Interview Prep هذا؟

نعم. كل درس في Coding Interview Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. حالات الفوز والخسارة في الألعاب
  2. لعبة Nim وعدد Grundy
  3. الالتقاء في المنتصف
  4. تصحيح الأخطاء بسرعة: اختبارات الضغط والفرز
← العودة إلى Coding Interview Prep