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

โปรแกรมนับจำนวนสตริงที่สอดคล้องกันใน Python


สมมติว่าเรามีสตริงที่ประกอบด้วยอักขระที่แตกต่างกัน และยังมีอาร์เรย์ของสตริงที่เรียกว่าคำ สตริงจะสอดคล้องกันเมื่ออักขระทั้งหมดในสตริงปรากฏในสตริง s เราต้องหาจำนวนสตริงที่สอดคล้องกันในคำอาร์เรย์

ดังนั้น หากอินพุตเป็น s="px", words =["ad","xp","pppx","xpp","apxpa"] ผลลัพธ์จะเป็น 3 เพราะมีสามสตริงเท่านั้น 'p' และ 'x', ["xp","pppx","xpp"].

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

  • นับ :=0

  • สำหรับฉันอยู่ในช่วง 0 ถึงขนาดของคำ - 1 ทำ

    • สำหรับ j ในช่วง 0 ถึงขนาดของคำ[i] - 1 ทำ

      • ถ้าคำ[i, j] ไม่อยู่ใน s แล้ว

        • ออกจากวง

    • มิฉะนั้น

      • นับ :=นับ + 1

  • จำนวนคืน

ตัวอย่าง (Python)

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

def solve(s, words):
   count = 0
   for i in range(len(words)):
      for j in range(len(words[i])):
         if words[i][j] not in s:
            break
      else:
         count += 1
   return count

s= "px"
words = ["ad","xp","pppx","xpp","apxpa"]
print(solve(s, words))

อินพุต

"px", ["ad","xp","pppx","xpp","apxpa"]

ผลลัพธ์

3