在 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 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告