Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมนับจำนวนพาลินโดรมขนาด k สามารถสร้างได้จากอักขระสตริงที่กำหนดใน Python


สมมติว่าเรามีสตริง s ที่แทนตัวอักษรและตัวเลข k เราต้องหาจำนวนพาลินโดรมที่เราสามารถสร้างความยาว k โดยใช้ตัวอักษรในหน่วย s เท่านั้น และเราสามารถใช้ตัวอักษรเหล่านี้ได้มากกว่า 1 ครั้งหากต้องการ

ดังนั้น หากอินพุตเป็น s ="xy", k =4 เอาต์พุตจะเป็น 4 เนื่องจากพาลินโดรมเป็น [xxxx, yyyy,xyyx, yxxy]

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • n :=ผลหารของ k/2
  • x :=จำนวนอักขระที่ไม่ซ้ำใน s
  • ผลตอบแทน x^(n + k mod 2)

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

class Solution:
   def solve(self, s, k):
      n=k//2
      return len(set(s))**(n+k%2)
s = "xy"
k = 4
ob = Solution()
print(ob.solve(s, k))

อินพุต

"xy",4

ผลลัพธ์

4