สมมติว่าเรามีสตริงที่ประกอบด้วยอักขระที่แตกต่างกัน และยังมีอาร์เรย์ของสตริงที่เรียกว่าคำ สตริงจะสอดคล้องกันเมื่ออักขระทั้งหมดในสตริงปรากฏในสตริง 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