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

Pythonで指定された文字列の最初の繰り返し文字のインデックスを見つけるプログラム


文字列sがあるとすると、その中の最初の繰り返し文字のインデックスを見つける必要があります。繰り返し文字が見つからない場合は、-1を返します。

したがって、入力が「abcade」のような場合、「a」はインデックス3に再び存在するため、出力は3になります。

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

  • マップ文字を定義する
  • 0からsのサイズの範囲のiについては、
    • 文字でs[i]の場合、
      • 私を返す
    • それ以外の場合、
      • chars [s [i]]:=chars [s [i]] + 1
  • 戻り値-1

理解を深めるために、次の実装を見てみましょう-

from collections import defaultdict
class Solution:
   def solve(self, s):
      chars = defaultdict(int)
      for i in range(len(s)):
         if s[i] in chars:
            return i
         else:
            chars[s[i]] += 1
      return -1
ob = Solution()
print(ob.solve("abcade"))

入力

"abcade"

出力

3

  1. 指定された文字列がパングラムであるかどうかを確認するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列入力が与えられた場合、その文字列がパングラムであるかどうかを確認するPythonプログラムを生成する必要があります。 パングラムは、英語のアルファベットコレクションのすべての文字を含む文/一連の単語です。 では、問題を解決する方法を見てみましょう 入力文字列に存在する各文字が、手動で宣言するアルファベットセットに属しているかどうかをチェックするループを使用します。 上記のアプローチの実装は、-によって与えられます。 例 import string def ispangram

  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