สมมติว่าเรามีสตริง s ที่มีเพียง "a" และ "b" "a" สามารถคง "a" หรือเปลี่ยนเป็น "b" ได้ แต่ "b" ไม่สามารถเปลี่ยนได้ เราต้องหาจำนวนสตริงเฉพาะที่เราสามารถสร้างได้
ดังนั้น หากอินพุตเป็น s ="baab" ผลลัพธ์จะเป็น 4 เนื่องจากเราสามารถสร้างสตริงเหล่านี้ได้ - ["baab", "babb", "bbab", "bbbb"]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- นับ :=ความถี่ของ 'a' ในหน่วย s
- คืน 2^จำนวน
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, s): counts = s.count('a') total = 2**(counts) return total ob = Solution() print(ob.solve("baab"))
อินพุต
"baab"
ผลลัพธ์
4