En İyi 150 RöportajOrta

Kod Çözme Yolları

'Kod Çözme Yolları' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Orta

A'dan Z'ye harfler içeren bir mesaj, aşağıdaki eşleme kullanılarak sayılara kodlanabilir:

'A' -> "1"

'B' -> "2"

...

'Z' -> "26"

Kodlanmış bir mesajın kodunu çözmek için tüm rakamların gruplandırılması ve ardından yukarıdaki ters eşleme kullanılarak harflere dönüştürülmesi gerekir. Örneğin, "11106" şu şekilde eşlenebilir:

- Gruplandırmayla "AAJF" (1 1 10 6)

- Gruplandırmayla "KJF" (11 10 6)

Gruplandırmanın (1 11 06) geçersiz olduğunu unutmayın çünkü "6", "06"dan farklı olduğundan "06", "F" ile eşlenemez.

Yalnızca rakam içeren bir dize verildiğinde, onu çözmenin yollarının sayısını döndürün.

numDecodings(s: str) -> int adlı bir işlev yazın.

Kısıtlamalar
  • 1 <= len(s) <= 100
  • s contains only digits and may contain leading zero(s)

Örnekler

Example 1
Input
s = "12"
Output
2
Explanation

"12" could be decoded as "AB" (1 2) or "L" (12).

Example 2
Input
s = "226"
Output
3
Explanation

"226" could be decoded as "BZ" (2 26), "VF" (22 6), or "BBF" (2 2 6).

Example 3
Input
s = "06"
Output
0
Explanation

"06" cannot be mapped to 'F' because of the leading zero.

Need a Hint?
Kümeler veya yığınlar gibi 1D DP'ye özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Editörde Aç
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.