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

ดัชนีคู่ของสตริงใน Python


สมมติว่าเรามีสตริงข้อความและคำ (รายการสตริง) เราต้องหาคู่ดัชนีทั้งหมด [i, j] เพื่อให้สตริงย่อย text[i]...text [j] อยู่ในรายการคำ ดังนั้นหากสตริงเป็นเหมือน "ababa" และอาร์เรย์คำเป็นเหมือน ["aba", "ab"] ผลลัพธ์จะเป็น [[0,1], [0,2], [2,3], [2 ,4]]. สิ่งหนึ่งที่เราสังเกตได้คือไม้ขีดสามารถทับซ้อนกันได้ "aba" จะถูกจับคู่ใน [0,2] และ [2,4]

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

  • res :=รายการว่าง
  • สำหรับ i ในช่วง 0 ถึงความยาวของสตริง
    • สำหรับ j ในช่วง i + 1 ถึงความยาวของสตริง + 1
      • ถ้าสตริงย่อยของสตริงจากดัชนี i ถึง j ในคำ −
        • เพิ่ม (i, j – 1) ลงในอาร์เรย์ผลลัพธ์
  • ผลตอบแทน

ตัวอย่าง(Python)

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

class Solution(object):
   def indexPairs(self, text, words):
      result = []
      for i in range(len(text)):
         for j in range(i+1,len(text)+1):
            if text[i:j] in words:
               result.append([i,j-1])
      return result
ob1 = Solution()
print(ob1.indexPairs("ababa",["aba","ab"]))

อินพุต

"ababa"
["aba","ab"]

ผลลัพธ์

[[0,1],[0,2],[2,3],[2,4]]