الجولات على الشبكة ومتجهات الاتجاه
التحرك باستخدام dx وdy والبقاء ضمن الحدود
الجولات على الشبكة ومتجهات الاتجاه درس مجاني في Coding Interview Prep على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Coding Interview Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.
المشي على شبكة
تجري كثير من عمليات المحاكاة على شبكة من الصفوف والأعمدة. يبدأ رمز في مكان ما ويتحرك خليةً خليةً باتباع الاتجاهات. 🗺️
تتبّع الصف والعمود
احتفظ بموضعك على هيئة زوج (r, c). يحدد الصف السطر من الأعلى إلى الأسفل، ويحدد العمود الموضع من اليسار إلى اليمين.
r, c = 0, 0متجهات الاتجاه
مثّل كل حركة بمتجه (dr, dc). تؤدي إضافته إلى موضعك إلى نقلك خلية واحدة في ذلك الاتجاه، من دون الحاجة إلى سلاسل من شروط if.
dr, dc = 0, 1 # move rightالجيران الأربعة
خزّن الحركات الأربع في مصفوفات حتى تتمكن من التكرار عليها. هذا هو النمط القياسي: أعلى وأسفل ويسار ويمين.
DR = [-1, 1, 0, 0]
DC = [0, 0, -1, 1]خذ خطوة واحدة
للتحرك، ما عليك سوى إضافة المتجه المختار إلى خليتك الحالية. ويعمل السطران نفسهما مع أي اتجاه من الاتجاهات الأربعة.
r += DR[k]
c += DC[k]ابقَ داخل الحدود
قبل التحرك، تحقق من أن الخلية داخل الشبكة. تمتد الصفوف من 0 إلى R-1 والأعمدة من 0 إلى C-1؛ وأي قيمة أخرى تكون خارج اللوحة.
if 0 <= r < R and 0 <= c < C:
passالأقطار عند السماح بها
تسمح بعض المسائل بالحركات القطرية أيضًا. أضف متجهات الزوايا الأربع لتكوين مجموعة جيران ذات ثمانية اتجاهات.
DR8 = [-1,-1,-1,0,0,1,1,1]
DC8 = [-1,0,1,-1,1,-1,0,1]الانعطاف يسارًا أو يمينًا
بالنسبة إلى روبوت ينعطف، أدر فهرس اتجاهه بدلًا من كتابة حالات متعددة. يحافظ modulo على دورانه عبر الاتجاهات الأربعة.
facing = (facing + 1) % 4 # turn rightالخلايا المحجوبة والجدران
تحقق من قيمة الشبكة قبل التحرك. إذا كانت الخلية جدارًا، فتجاوزها أو توقف، تمامًا كما تصف القواعد.
if grid[r][c] == '#':
continueالشبكات ذات الالتفاف
إذا كانت الشبكة تلتف، فاستخدم modulo للإحداثيات بالنسبة إلى الحجم، بحيث تتصل الحافة اليمنى بالحافة اليسرى بسلاسة.
r = (r + dr) % R
c = (c + dc) % Cلماذا تتفوق المتجهات
تستبدل متجهات الاتجاه كتل if-else المتشابكة بحلقة واحدة مرتبة. ويعني انخفاض التفرعات أخطاء أقل تحت ضغط المسابقات.
فحص سريع
تمشي على شبكة باستخدام متجهات الاتجاه، ويجب أن تبقى داخل اللوحة.
مراجعة
احتفظ بالموضع على هيئة (r, c)، وتحرك بإضافة متجهات الاتجاه، وكرّر على الجيران الأربعة، وتحقق دائمًا من الحدود قبل أن تخطو. 🚀
الأسئلة الشائعة
هل درس «الجولات على الشبكة ومتجهات الاتجاه» مجاني؟
نعم — نص درس «الجولات على الشبكة ومتجهات الاتجاه» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Coding Interview Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.
ماذا ستتعلم في «الجولات على الشبكة ومتجهات الاتجاه»؟
التحرك باستخدام dx وdy والبقاء ضمن الحدود تتمرن على Coding Interview Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Coding Interview Prep؟
لا تُشترط خبرة سابقة. Coding Interview Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «الجولات على الشبكة ومتجهات الاتجاه»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Coding Interview Prep هذا؟
نعم. كل درس في Coding Interview Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- نمذجة الحالة والتقدم خطوة إلى الأمام
- الجولات على الشبكة ومتجهات الاتجاه
- اكتشاف الدورات في المحاكاة
- ترويض الحالات الطرفية المراوغة