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

โปรแกรมค้นหารายการชุดตัวอักษรที่เป็นไปได้ทั้งหมดของสตริงที่ระบุใน Python


สมมติว่าเรามีสตริง s เราต้องหาตัวอักษรของ s ผสมกันทั้งหมดที่เป็นไปได้ หากมีสองสตริงที่มีชุดอักขระเหมือนกัน ให้แสดงคำศัพท์ที่เล็กที่สุด และข้อจำกัดอย่างหนึ่งคืออักขระแต่ละตัวมีเอกลักษณ์เฉพาะตัว

ดังนั้น หากอินพุตเป็น s ="pqr" ผลลัพธ์จะเป็น ['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p']

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

  • st_arr :=รายการใหม่
  • สำหรับฉันในช่วงขนาด s - 1 ถึง 0, ลดลง 1 ทำ
    • สำหรับ j ในช่วง 0 ถึงขนาดของ st_arr - 1 ให้ทำ
      • แทรก (s[i] ต่อ st_arr[j]) ที่ส่วนท้ายของ st_arr
    • แทรก s[i] ที่ส่วนท้ายของ st_arr
  • ส่งคืน st_arr

ตัวอย่าง

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

def solve(s):
   st_arr = []

   for i in range(len(s)-1,-1,-1):
      for j in range(len(st_arr)):
         st_arr.append(s[i]+st_arr[j])
      st_arr.append(s[i])
   return st_arr

s = "pqr"
print(solve(s))

อินพุต

"pqr"

ผลลัพธ์

['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p']