Pythonで連続する重複文字を削除した後に文字列を検索するプログラム
文字列sがあるとすると、最初の連続する重複文字を繰り返し削除します。最後の文字列を見つける必要があります。
したがって、入力がs ="xyyyxxz"の場合、「yyy」は削除される最初の連続する重複文字であるため、出力は「z」になります。つまり、「xxxz」があります。その後、「xxx」が削除され、「z」になります。
これを解決するには、次の手順に従います-
- スタック:=新しいスタック
- i:=0
- i
- スタックが空でなく、スタックの最上位がs [i]と同じである場合、
- x:=スタックから最後の要素を削除します
- i
- i:=i + 1
- i:=i-1
- スタックが空でなく、スタックの最上位がs [i]と同じである場合、
- s[i]をスタックにプッシュします
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, s): stack = [] i = 0 while i < len(s): if len(stack) and stack[-1] == s[i]: x = stack.pop() while i < len(s) and x == s[i]: i += 1 i -= 1 else: stack.append(s[i]) i += 1 return "".join(stack) ob = Solution() s = "xyyyxxz" print(ob.solve(s))
入力
"xyyyxxz"
出力
z
-
文字列内のミラー文字を検索するPythonプログラム
ユーザー入力文字列とその位置からの位置を指定すると、文字をアルファベット順に文字列の長さまでミラーリングする必要があります。この操作では、「a」を「z」に、「b」を「y」に、「c」を「x」に、「d」を「w」に変更します。これは、最初の文字が最後になることを意味します。オン。 Inpu t: p = 3 Input string = python Output : pygslm アルゴリズム Step 1: Input the string and position from we need to mirror the characters. Step 2: Creating a s
-
Pythonを使用して文字列からすべての重複文字を検索する
1つの文字列が与えられます。私たちのタスクは、指定された文字列内で頻度が複数の文字を見つけることです。 例として、「HelloWorld」という文字列を見ることができます。 Pythonを学びましょう」と言うと、アルゴリズムは複数回出現する文字を検出します。この場合、出力は次のようになります- e : 3 l : 4 o , 3) <space> : 4 r : 2 t : 2 n : 2 この問題を実装するために、Pythonコレクションを使用しています。コレクションから、Counter()メソッドを取得できます。 Counter()メソッドは、ハッシュテーブルオブジェ