BBarCumulus
مساحة عمل برمجية بالذكاء الاصطناعي

أكبر مستطيل في المدرج التكراري

اعثر على أكبر مستطيل تحت أعمدة عرضها واحد وبحد أقصى 256 ارتفاعًا صحيحًا من صفر إلى 1000000.

● ● ●BarCumulus●
سير العمل · أكبر مستطيل في المدرج التكراري ×
def histogram_area(heights):
    heights = tuple(heights)
    if len(heights) > 256 or any(type(h) is not int or not 0 <= h <= 1000000 for h in heights):
        raise ValueError("height.range")
    stack, best = [], 0
    for i in range(len(heights) + 1):
        current = heights[i] if i < len(heights) else 0
        while stack and heights[stack[-1]] > current:
            height = heights[stack.pop()]
            start = stack[-1] + 1 if stack else 0
            best = max(best, height * (i - start))
        stack.append(i)
    return best
✳اعثر على أكبر مستطيل تحت أعمدة عرضها واحد وبحد أقصى 256 ارتفاعًا صحيحًا من صفر إلى 1000000.
✓ التغييراتراجع قبل التطبيق ↗
رسم توضيحي لمساحة العمل
01

المشروع

اختبر الإدخال الفارغ والارتفاعات المتساوية وارفض القيم السالبة أو المنطقية دون تغيير الإدخال.

02

راجع قبل التطبيق

قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.

03

النماذج

اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل.

سير العمل

أكبر مستطيل في المدرج التكراري

سير العمل ↗
سير العمل
def histogram_area(heights):
    heights = tuple(heights)
    if len(heights) > 256 or any(type(h) is not int or not 0 <= h <= 1000000 for h in heights):
        raise ValueError("height.range")
    stack, best = [], 0
    for i in range(len(heights) + 1):
        current = heights[i] if i < len(heights) else 0
        while stack and heights[stack[-1]] > current:
            height = heights[stack.pop()]
            start = stack[-1] + 1 if stack else 0
            best = max(best, height * (i - start))
        stack.append(i)
    return best
مساحة عمل برمجية بالذكاء الاصطناعي

اسأل عما يجب أن تحافظ عليه إعادة الهيكلة قبل تغيير شكلها

BarCumulus مساحة برمجة بالذكاء الاصطناعي على Windows لمراجعة تغيير التنفيذ دون فقد السلوك المطلوب الحفاظ عليه. افتح مجلد المشروع واشرح سبب طلب إعادة الهيكلة: حالة أوضح، أو دالة مساعدة أصغر، أو مسار أسهل للاختبار. اطلب من النموذج فحص العقد الحالي قبل اقتراح بديل.

يمكنك توصيل نموذج بلا رقابة إذا أتاحته نقطة نهايتك المدعومة المتوافقة مع OpenAI أو التابعة لـ Anthropic. أضف بيانات الاعتماد عند الضرورة. تبقى قيود المزود وقدرات الأدوات وحدود السياق سارية، لذا استخدم المحادثة لتطوير استدلال قابل للمراجعة، ولا تعتبر التنفيذ المختلف شكلا تحسينا في ذاته.

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

افحص الفروق الناتجة وشغل فحوص المشروع على النسخة نفسها التي تنوي الاحتفاظ بها. للتغييرات المعقدة، قارن بتنفيذ بسيط مستقل على مدخلات صغيرة. تقدم هذه المقارنة دليلا ضمن النطاق المختبر؛ ولا تحول مساحة البرمجة إلى نظام برهان آلي.

إخضاع إعادة الهيكلة للمراجعة

ما السبب المفيد لطلب إعادة هيكلة خوارزمية؟

حدد مشكلة صيانة يمكن تقييمها، مثل انتقالات حالة غير واضحة أو معالجة مكررة. اطلب أصغر مقترح يعالجها. ينبغي أن يبرر البديل مكانه بقابلية القراءة والسلوك المتحقق منه، لا بالجدة وحدها.

لماذا أدرج أعمدة متساوية الارتفاع في حالات المثال؟

قد تكشف القيم المتساوية افتراضات بشأن وقت الاحتفاظ بالحالة المعلقة أو إزالتها. أدرج سلسلة قصيرة متساوية الارتفاع بنتيجة متوقعة معروفة. اطلب من النموذج شرح الحالة وفق التنفيذ المقترح قبل مراجعة أمثلة أكبر.

هل يثبت الاختبار التفاضلي تكافؤ تنفيذين؟

يدعم التكافؤ للمدخلات المختبرة وقد يكشف اختلافات. أبق نطاق المدخلات والتنفيذ المرجعي واضحين وحقق في الفروق. لا تصف الاختبار المحدود بأنه برهان لكل مدخل ممكن تقبله دالة الإنتاج.

كيف أراجع سكربت مقارنة مقترحا؟

اقرأ حدود مدخلاته وخطة تنفيذه قبل تشغيله. تحقق أيضا من وجهات الأدوات: يتطلب استدلال النموذج المحلي خادما منفصلا ولا يجعل كل أداة تنفيذ متصلة محلية. أبق أحمال الاختبار صغيرة عن قصد.

تنزيل لنظام Windows ↗

BarCumulus · آخر تحديث 2026-10-25