在 Python 中查詢第一個字串中在第二個字串中出現最小索引的字元


假設我們有兩個字串 str 和 patt,我們需要找到在 str 中出現最小索引的 patt 中的字元。如果 patt1 中的任何字元都不在 str1 中,則返回 -1。

因此,如果輸入像 str = "helloworld" 和 patt = "wor",則輸出將是 'o',因為 'o' 在 str 中的索引最小。

為了解決這個問題,我們將遵循以下步驟:

  • 遍歷 patt 的每個字元 (i 從 0 到 patt 的長度)

    • 遍歷 str 的每個字元 (j 從 0 到 str 的長度)

      • 如果 patt[i] 等於 str[j] 且 j 小於最小索引,則

        • 將最小索引更新為 j

        • 跳出內迴圈

  • 如果最小索引不等於 10^9,則

    • 返回 str[最小索引]

  • 否則,

    • 返回 -1

示例

讓我們看下面的實現來更好地理解:

線上演示

def get_min_index_char(Str, patt):
   minimum_index = 10**9
   for i in range(len(patt)):
      for j in range(len(Str)):
         if (patt[i] == Str[j] and j < minimum_index):
            minimum_index = j
            break
   if (minimum_index != 10**9):
      return Str[minimum_index]
   else:
      return -1
Str = "helloworld"
patt = "wor"
print(get_min_index_char(Str, patt))

輸入

"helloworld", "wor"

輸出

o

更新於:2020年8月19日

283 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.