🔴 أبطال الأزهر الكرام هذا الأسبوع هو ختام أسابيع تدريب المستوى الأول، ولكن التدريب لم ينتهي بعد 🔥
🔴 ستستمر المسابقات الأسبوعية لعدة أسابيع حتى انتهاء فترة التدريب، فاستغلوا هذه الأسابيع في حل المسائل المتراكمة، ولا تفوتوا المسابقات الأسبوعية، واجتهدوا لكي تتمكنوا من التأهل لتدريب المستوى الثاني لتكملوا رحلة التدريب والمنافسة 😍🎈
الهدف من الأسبوع السادس:
1- التعرف على Two Pointers Technique، وتعلم كيفية توظيفه في التفكير في حل المشاكل.
هنتعلم ايه جديد؟
- هنتعرف على Technique جديد مشهور جدا وليه كذا اسم أشهرهم:
- Two Pointers Technique.
- Sliding Window Technique.
- الـ Technique دا بيساعدنا نقلل الـ Time Complexity بشكل كبير جدا في مشاكل كتيرة.
- ايه المقصود بـ Pointers؟ المقصود هنا متغيرات بتشاور على Indices في Linear Data Structure (زي array أو vector) ومش المقصود C++ Memory Pointers ومش بنتعامل مع Addresses خالص.
مثال توضيحي: ممكن نستعمل 2 Pointers مثلا i وj بيشاوروا على indices في Array، كل واحد فيهم بيبدأ من index معين وبيتحرك في إتجاه محدد ومينفعش يمشي عكس الإتجاه دا، والحركة بتكون بناء على شرط معين، بحيث إن في الـ Worst Case كل Pointer منهم ممكن يمشي من أول الـ Array لآخرها مرة واحدة، وبالتالي مجموع الخطوات في أسوأ الحالات هيكون 2 * n والـ Complexity هتكون (O(n.