LeetCode algoritması probleminin temeli, 19. günde N-ary ağacının maksimum derinliği

Algoritmalar hakkında çok karmaşık makaleler nasıl yazılır. Son olarak, yazmaya en basit seviyeden başlamanın daha iyi olacağını düşünüyorum. Başlangıçtan itibaren, yapay zeka, makine öğrenimi algoritmaları ve çok sayıda matematik ve optimizasyon bilgisi gibi bazı ağır ağırlıklara sahip olacağım. Sanırım çok bunaltıcı olacak. Bunu yapamayabilirim, doğru.

Her soruya iki dilde, bir statik dil ve bir dinamik dilde çözüm getirmeyi planlıyorum.

C dilini ve Python'u seçtim. Başlangıçta Java'yı düşündüm, ancak alan sınırlı. İlgileniyorsanız, kendiniz deneyin

LeetCode 559. N-ary ağacının maksimum derinliğini bulun (N-ary Ağacın Maksimum Derinliği)

Sorun Açıklaması:

Ağacın maksimum derinliği, kök düğümden en uzaktaki yaprak düğümüne kadar en uzun yoldaki düğüm sayısını ifade eder.

Bir N-ary ağacı verildiğinde, maksimum derinliğini bulun.

Misal:

Maksimum derinliği 3'tür.

C dili uygulaması:

Aşağıdaki şekil, ağacın derinliğinin en sezgisel anlayışıdır.

Ağacın derinliğini bulmaya gelince, yine de yinelemeli yöntemi kullanıyoruz, çünkü uygulanması daha kolay ve anlaşılması daha kolay.

Bir alt ağaç için derinliği:

(Neden 1 ekleyin? Ve kendinizi unutmayın, unutmayın)

Aşağıdaki kodu eklerseniz, tüm testleri 30 ms içinde geçmesi beklenir. (Söylediğim şeyin umut verici olduğuna dikkat edin: leetCode'da gönderilen C ++ kodunun çalışma zamanı o kadar kararlı değil.)

Bu optimize edilmiş kod, gcc'nin optimizasyon seviyesini en yüksek seviyeye ayarlamak için ilk olarak pragma ön işleme talimatını kullanır.

Bir lambda ifadesi daha sonra tanımlanır ve ifadenin adı gerçekten önemli değildir:

Std :: ios :: Sync_with_stdio (yanlış): Cin ve cout'u C stdio ile eşzamanlı olarak ilişkilendirmek yasaktır, devre dışı bırakıldıktan sonra C ++ kodunda C stdio sistem çağrı işlevlerini kullanmayın. Bu yöntem çıktı hızını etkili bir şekilde artırabilir.

Std :: cin.tie (nullprt): Cin.

Python dilinin uygulanması:

Python uygulama ilkesi C dilininkiyle aynıdır, bu yüzden onu bir daha yazmayacağım. kod aşağıdaki gibi gösterilir:

Şarkının sadece yarısıyla en iyi erkek şarkıcıyı kazandı ve Gu Tianle Çin müzik sahnesinde bir mucize yarattı.
önceki
Wang Xinling'in kozmetik ameliyattan sonra yüzündeki başarısızlık? Şirketin yanıtı: kasıtlı olarak ifade açısını yakalamak
Sonraki
Konu Uzmanlar düşük hızlı elektrikli araçların standardını tartışıyor, akademisyen bağırdı: Yasaklamak için yasayı değiştirmeyin!
"Ode to Joy" sınıfı engelleri her yerde, oyunun dışında Liu Tao, kız kardeşleri yılda 18 onayla eziyor
Kia K515th Anniversary Special Edition 180.800 yuan karşılığında satışa sunuldu
Makine öğreniminin vaftiz babası Tom Mitchell: Yapay zeka, uyarlanabilir öğrenmenin itici teknolojisi olacak
LeetCode algoritması probleminin temeli, 17. gün, hız göstergesinde küçük bir iyileştirme
O ve Ma Guoming aynı zamanda en iyi oyunculardı.Şimdi Ma Guoming, TVB grubunun favorisi haline geldi ve o ...
Sadece mutlu ol ve "kimi ve kimi sev" Cai Guoqing: Bana 50 yaşında bakma ama çocuksu bir kalbim var
Şifa departmanı Coca-Cola ve atmos LAB sınırlı sayıda çıktı! Başlamazsan bu sefer kaybedeceksin!
Alman Aslan sertifikası, çift ekranlı çift parmak izi! Nubia X sürümü: 3299 yuan'dan başlıyor
LeetCode algoritması probleminin temelini atmak için 16. günde, sipariş hakkında konuşmayı bitirdikten sonra, ilk siparişten bahsedelim
Seyirci bir keresinde onu gördüklerinde hemen televizyonu kapatmakla tehdit etmişti. Beş yıldır çıkış yapan Cai Sibei hala sinir bozucu mu?
Güçlü oyuncular kısa video içerik savaşları oyununa giriyor: Bu görsel yıldız oyunu nasıl oynanır?
To Top