Перейти к содержимому

من O(n) لـ O(1) | شرح Prefix Sum و Difference Array بالعربي

Code With Shehab

0:00 / 0:00

من O(n) لـ O(1) | شرح Prefix Sum و Difference Array بالعربي

153 просмотра · 7 дней назад
Code With Shehab
44 подписчика
153 просмотра · 7 дней назад
في الفيديو ده هنحل المسألة بـ loop واحد بس، وبعدها كل سؤال بيتجاوب في عملية طرح واحدة. وبعدين هنقلب المسألة رأسًا على عقب: بدل ما نقرا range، هنعدّل range كامل — ومية ألف تعديل على مليون عنصر هيتعملوا بتعديل رقمين بس في الـ Array بدل ما نلف على المليون. والحلو في الموضوع؟ الرياضيات هنا جمع وطرح بس، مفيش أي حاجة أعقد من كده. ⏱️ الفصول 00:00 — مقدمة: المشكلة 00:20 — الحل بالـ loop (وليه بيفشل) 01:20 — Prefix Sum: الفكرة 04:25 — حساب مجموع أي range بعملية طرح واحدة 08:20 — Difference Array: نقلب المسألة 📌 هتتعلم إيه • إزاي تجمع أي range في الـ array في O(1) بدل O(n) • إزاي تعدّل range كامل في O(1) بدل O(n) • ليه الـ array بتاعة الـ prefix طولها n+1 — وده مش off-by-one، ده منطق • إن الـ Prefix Sum والـ Difference Array عكس بعض (زي التفاضل والتكامل بالظبط) • إزاي تطبق التكنيك ده عشان تتفادى الـ TLE في أي مسألة Range 💬 قولي في الكومنتات عايزني أعمل الجزء التاني عن الـ 2D Prefix Sum؟ (مجموع أي مستطيل جوه جدول في ٤ عمليات بس) وسيبلي كمان أنهي مسألة range أخدت منك وقت — يمكن نحلها سوا في الحلقة الجاية. 🔔 لو الفيديو نفع معاك، اعمل لايك واشترك — بنزّل حلقة كل أسبوع في سيريز "حل مسائل". #برمجة #LeetCode #PrefixSum #DifferenceArray #خوارزميات #Dart #Swift #Flutter #برمجة_بالعربي #هياكل_البيانات