最初または最後から削除してPythonに再度挿入することでターゲットを作成するプログラム
2つの文字列SとTがあり、それらが互いに順列であるとします。 Sの最初または最後の文字を削除して、文字列の任意の場所に挿入する操作があるとします。次に、SをTに変換するために必要な操作の最小数を見つけます。
したがって、入力がs ="zyvxw" t ="vwxyz"の場合、出力は3になります。これらの操作は次のとおりです。「w」を削除し、「v」の後に挿入して「zyvwx」を削除します。「z」を削除します。 「x」の後に挿入して「yvwxz」を取得します。「y」を削除し、「x」の後に挿入して「vwxyz」を取得します。
これを解決するには、次の手順に従います-
-
ans:=sのサイズ、n:=sのサイズ
-
0からn-1の範囲のiの場合、実行
-
k:=0
-
iからn-1の範囲のjの場合、実行
-
kからtのサイズまでの範囲のkについては、次のようにします
-
s[j]がt[k]と同じ場合、
-
ans:=ansとnの最小値-(j --i + 1)
-
ループから出てきます
-
-
-
k:=k + 1
-
-
ansを返す
-
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, s, t): ans = n = len(s) for i in range(n): k = 0 for j in range(i, n): for k in range(k, len(t)): if s[j] == t[k]: ans = min(ans, n - (j - i + 1)) break k += 1 return ans ob = Solution() s = "zyvxw" t = "vwxyz" print(ob.solve(s, t))
入力
"zyvxw", "vwxyz"
出力
5
-
文字列からn番目の文字を削除するためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 −文字列が与えられたので、与えられた文字列からi番目のインデックス付き文字を削除して表示する必要があります。 Pythonのどの文字列でも、インデックス付けは常に0から始まります。文字列「tutorialspoint」があるとすると、そのインデックス付けは次のように行われます- T u t o r i a l s p o i n t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 次に、ステートメントを解決するためのPythonスクリプトを見てみましょう- 例 def remove
-
文字列からn番目の文字を削除するためのPythonプログラム?
文字列は文字の配列を意味するため、開始アドレスは0です。そうすれば、すべての文字のインデックスを簡単に取得できます。そのインデックス番号を入力する必要があります。次に、その要素を削除します。したがって、文字列を2つのサブ文字列に分割します。また、2つの部分は、n番目のインデックス付き文字の前と、インデックス付き文字の後の2つの部分で、この2つの文字列をマージする必要があります。 例 Input: python n-th indexed: 3 Output: pyton 説明 アルゴリズム Step 1: Input a string. Step 2: input the index p