สมมติว่ามีสตริงตัวพิมพ์เล็ก s เราต้องหาว่าสามารถสร้างคำว่า "pizza" ได้กี่ครั้งจากตัวอักษรใน s ใช้ตัวอักษรได้ในลำดับใดก็ได้ แต่องค์ประกอบแต่ละตัวใช้ได้เพียงครั้งเดียว
เช่น ถ้าอินพุตคือ "ihzapezlzzilaop" ผลลัพธ์จะเป็น 2
ขั้นตอนการแก้ปัญหา
- p_freq := ความถี่ของ 'p' ใน s
- i_freq := ความถี่ของ 'i' ใน s
- z_freq := ความถี่ของ 'z' ใน s
- a_freq := ความถี่ของ 'a' ใน s
- คืนค่า min(p_freq, i_freq, z_freq // 2, a_freq)
ตัวอย่างโค้ด
class Solution:
def solve(self, s):
p_freq = s.count('p')
i_freq = s.count('i')
z_freq = s.count('z')
a_freq = s.count('a')
return min(p_freq, i_freq, z_freq // 2, a_freq)
ob = Solution()
print(ob.solve("ihzapezlzzilaop"))
อินพุต
"ihzapezlzzilaop"
เอาต์พุต
2