39. Gün: Bir temel oluşturmak için LeetCode algoritması problemi: Koşullara göre dizgi oluşturun

Algoritmalar hakkında çok karışık olan 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 bunalıma girecek. Elbette Bunu yapamayabilirim, doğru.

Her soru için iki dilde, statik dil ve dinamik dilde çözüm vermeyi 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 412. Koşullara göre dizeler oluşturun (Fizz Buzz)

Sorun Açıklaması:

  • 1'den n'ye kadar sayıların dize gösterimini çıkaran bir program yazın.
  • N 3'ün katı ise, "Fizz" sonucunu verin;
  • N, 5'in katı ise, "Buzz" sonucunu verin;
  • Eğer n hem 3 hem de 5'in katı ise, "FizzBuzz" sonucunu verin.
  • Misal:

    C dili uygulaması:

    4 durumu dikkate almalıyız:

  • Tam sayı 3'e bölünebiliyorsa, "Fizz" dizesini dizinin karşılık gelen konumuna doldurun;
  • Tam sayı 5'e bölünebiliyorsa, "Buzz" dizesini dizideki karşılık gelen konuma doldurun;
  • Tam sayı 15'e bölünebiliyorsa, "FizzBuzz" dizesini dizideki karşılık gelen konuma doldurun;
  • Yukarıdaki 1-3'ü karşılamayan diğer tam sayılar için, değeri bir dizeye dönüştürün ve dizinin karşılık gelen konumuna doldurun;
  • Bu nedenle en az 3 yargı gereklidir.

    15'e bölünebilen bir tamsayı aynı anda 3 ve 5'e bölünebildiğinden, ilk önce 3. durum değerlendirilmelidir.

    kod aşağıdaki gibi gösterilir:

    Kod 8 ~ 13 satırları, önce gereksiz dizge oluşturma sürecini kurtarmak ve yeniden kullanımı sağlamak için "Fizz", "Buzz" ve "FizzBuzz" adlı üç dizi oluşturdu.

    Python dilinin uygulanması:

    Python'un uygulaması biraz farklıdır. If ve dizeleri biriktiriyoruz. Bir tamsayının 15'e bölünebilir olup olamayacağına karar vermemize gerek yok, sadece bir sayının 3 ve 5'e bölünebilir olup olamayacağına karar vermemiz gerekiyor. Eğer yapabilirse, o zaman n çıktı dizesi olacaktır. "FizzBuzz" a kadar ekleyin.

    kod aşağıdaki gibi gösterilir:

    Lin Fengpin'in kız arkadaşı akşam yemeğine çıktı ve düğün tarihi yaklaşıyor. TVB Wusheng nihayet kapanıyor mu?
    önceki
    Upstream InteractiveEdebiyat Kampüse GiriyorÜnlü yazar Wang Mingkai, Yongchuan Bölgesindeki Banqiao Ortaokuluna girdi
    Sonraki
    Çaba ve endişeden tasarruf edin, akıllı ev bir peri hayatı açar
    Kuru ürünler Kaggle yarışmasına girmenin% 2 sırrı
    İçerik ve sermaye birbirine aşık olur, finansal insanlar film parkurunun yardımcı pilotları olmalıdır
    TVB ödül töreninde dansçıydı. Bunu izledikten sonra neden arkasında olduğunu anlayacaksınız.
    Temel LeetCode algoritma problemi 38. gün: ikili ağacın maksimum derinliğini bulun
    Yeni Changan PSA DS 5LS, 168.800 yuan'dan başlayan fiyatlarla satışa sunuluyor
    Derinlemesine yüksek enerjili parçacık çarpışması izleme: Kaggle TrackML parçacık izleme yarışmasının ikincisi ile röportaj
    Bir zamanlar Edison Chen ile "dövüşmek" için bir kadın için, onun "deformasyon ölçer" realite şovundan daha iyidir!
    Yu Dong ile röportaj | 150 milyon dolarlık fon, CAA yeni bir baba bulmak için "büyük altı" dan fırlıyor?
    Yeni Changan PSA DS 4S 171.900 ila 229.900 arasında satışa sunuldu
    TVB yine bir şeyler mi yapıyor? "Önemsiz Dosya" aslında Shidishi'nin böyle bir mikro tiyatroda oynamasını sağlıyor!
    Xiaomi'nin birkaç yeni ürünü piyasaya sürüldü ve 100.000'den fazla kitle fonlaması içeren Mijia otomatik telefon çamaşır makinesi resmi olarak piyasaya sürüldü.
    To Top