BBarCumulus
Yapay zekâ ile kod çalışma alanı

Histogramdaki en büyük dikdörtgen

Birim genişlikteki çubukların altında, sıfır ile 1000000 arasında en fazla 256 tamsayı yükseklik için en büyük dikdörtgeni bulun.

● ● ●BarCumulus●
İş akışları · Histogramdaki en büyük dikdörtgen ×
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
✳Birim genişlikteki çubukların altında, sıfır ile 1000000 arasında en fazla 256 tamsayı yükseklik için en büyük dikdörtgeni bulun.
✓ DeğişikliklerUygulamadan önce inceleyin ↗
Çalışma alanı çizimi
01

Proje

Boş girdiyi ve eşit yükseklikleri sınayın; negatif veya mantıksal değerleri girdiyi değiştirmeden reddedin.

02

Uygulamadan önce inceleyin

Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.

03

Modeller

Temel URL ve gerekiyorsa API anahtarıyla OpenAI uyumlu veya Anthropic endpoint yapılandırın. Bağlantıyı test edin. Yerel model sunucusu çalışıyor olmalıdır; uzak araçlar ayrıca veri aktarabilir.

İş akışları

Histogramdaki en büyük dikdörtgen

İş akışları ↗
İş akışları
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
Yapay zekâ ile kod çalışma alanı

Biçimini değiştirmeden önce yeniden düzenlemenin neyi koruması gerektiğini sorun

BarCumulus, korunması amaçlanan davranışı kaybetmeden uygulama değişikliğini incelemek için Windows üzerinde bir yapay zeka kodlama çalışma alanıdır. Proje klasörünü açın ve neden yeniden düzenleme istediğinizi açıklayın: daha anlaşılır durum, daha küçük yardımcı işlev veya daha kolay test yolu. Değiştirme önermeden önce modelden mevcut sözleşmeyi incelemesini isteyin.

Desteklenen OpenAI uyumlu veya Anthropic uç noktanız sunuyorsa sansürsüz bir yapay zeka modeli bağlayabilirsiniz. Gerektiğinde kimlik bilgilerini ekleyin. Sağlayıcı kısıtlamaları, araç yetenekleri ve bağlam sınırları yürürlükte kalır; dolayısıyla farklı görünen uygulamayı başlı başına iyileşme saymak yerine incelenebilir gerekçeler geliştirmek için konuşmayı kullanın.

Getirebileceğiniz örneklerden biri çubuk yükseklikleri üzerindeki en büyük dikdörtgen hesabıdır. Kodun düz yükseklik dizilerini, boş girdiyi ve sonda bekleyen işi nasıl ele aldığının incelenmesini isteyin. Sonuçları elle doğrulanmış küçük test örnekleri ekleyin, ardından modelden önerilen düzenlemenin hangi kısımlarının bunları koruduğunu ve hangilerinin değiştirdiğini açıklamasını isteyin.

Ortaya çıkan farkı inceleyin ve tutmayı planladığınız sürümde proje kontrollerini çalıştırın. Karmaşık değişikliklerde küçük girdiler üzerinde bağımsız basit bir uygulamayla karşılaştırın. Bu karşılaştırma test edilen aralık içinde kanıttır; kodlama çalışma alanını otomatik ispat sistemine dönüştürmez.

Yeniden düzenlemeyi denetlenebilir tutma

Algoritmayı yeniden düzenlemek istemek için yararlı bir gerekçe nedir?

Belirsiz durum geçişleri veya yinelenen işlemler gibi değerlendirebileceğiniz bir bakım sorunu belirtin. Bunu ele alan en küçük öneriyi isteyin. Yeni sürüm yerini yalnızca yenilikle değil, okunabilirlik ve doğrulanmış davranışla hak etmelidir.

Test örneklerine neden eşit yükseklikte çubuklar eklenmeli?

Eşit değerler bekleyen durumun ne zaman tutulup kaldırıldığına ilişkin varsayımları açığa çıkarabilir. Beklenen sonucu bilinen kısa bir düz dizi ekleyin. Büyük örnekleri incelemeden önce modelden bu örneği önerilen uygulamaya göre açıklamasını isteyin.

Diferansiyel test iki uygulamanın eşdeğerliğini kanıtlar mı?

Test edilen girdiler için eşdeğerliği destekler ve uyuşmazlıkları ortaya çıkarabilir. Girdi aralığını ve referans uygulamayı görünür tutun, farklılıkları araştırın. Sonlu testleri, üretim işlevinin kabul ettiği her olası girdi için ispat olarak tanımlamayın.

Önerilen karşılaştırma betiğini nasıl incelemeliyim?

Çalıştırmadan önce girdi sınırlarını ve yürütme planını okuyun. Araç hedeflerini de doğrulayın: yerel model çıkarımı ayrı sunucu gerektirir ve bağlı her yürütme aracını yerel yapmaz. Test yüklerini bilinçli olarak küçük tutun.

Windows için indir ↗

BarCumulus · Güncellendi 2026-10-25