Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの2番目の文字列の最小インデックスに存在する最初の文字列の文字を検索します


文字列strと別の文字列pattがあるとすると、strの最小インデックスに存在するpatt内の文字を特定する必要があります。 str1に文字patt1が存在しない場合は、-1を返します。

したがって、入力がstr="helloworld"およびpatt="wor"のような場合、出力は'o'になります。これは、'o'がstrの最小インデックスに存在するためです

これを解決するには、次の手順に従います-

  • 0からパットのサイズまでの範囲のiの場合、実行します

    • 0からStrのサイズまでの範囲のjについては、次のようにします

      • patt[i]がStr[j]およびj

        • minimum_index:=j

        • ループから出てきます

  • minimum_indexが10^9と同じでない場合、

    • Str [minimum_index]

      を返します
  • それ以外の場合

    • -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

  1. 文字のストリームから最初の繰り返しのない文字を見つけるPythonプログラム?

    このセクションでは、文字列または文字のストリームから最初の一意の文字または繰り返されない文字を見つけます。この問題を解決する方法は複数あります。同じキャラクターのストリームに対して2つの異なるプログラムを作成しようとします。 方法1:関数を使用する def firstNonRepeatingChar(str1):    char_order = []    counts = {}    for c in str1:       if c in counts:       &n

  2. Pythonで文字列の最初に繰り返される単語を見つけますか?

    1つの文字列が与えられます。私たちのタスクは、与えられた文字列の最初に繰り返される単語を見つけることです。この問題を実装するために、Pythonコレクションを使用しています。コレクションから、Counter()メソッドを取得できます。 アルゴリズム Repeatedword(n) /* n is the string */ Step 1: first split given string separated by space into words. Step 2: now convert the list of words into a dictionary. Step 3: travers