Pythonで区切り文字のセットで区切られた単語を逆にするプログラム
文字列と区切り文字のセットがあるとすると、区切り文字の相対的な順序は変更しないで、文字列内の単語を逆にする必要があります。
したがって、入力がs ="Computer / Network:Internet | tutorialspoint" delims =["/"、 ":"、'|']の場合、出力はtutorialspoint / Internet:Network | Computer
になります。これを解決するには、次の手順に従います。
単語:=新しいリスト
ans:=空白の文字列
temp:=マップここで
区切り文字以外の単語を区切り、単語配列に挿入します
文字が区切り文字である場合は単語を区切り、それらをansに追加します。
それ以外の場合は、単語配列から単語を逆に読み取り、ansに追加します
ansを返す
理解を深めるために、次の実装を見てみましょう。
例
from itertools import groupby class Solution: def solve(self, sentence, delimiters): words = [] ans = "" for k, g in groupby(sentence, lambda x: x in delimiters): if not k: words.append("".join(g)) for k, g in groupby(sentence, lambda x: x in delimiters): if k: ans += "".join(g) else: ans += words.pop() return ans ob = Solution() s = "Computer/Network:Internet|tutorialspoint" delims = ["/", ":", '|'] print(ob.solve(s, delims))
入力
"Computer/Network:Internet|tutorialspoint", ["/", ":", '|']
出力
tutorialspoint/Internet:Network|Computer
-
Pythonで有向グラフを反転するプログラム
有向グラフがあるとすると、その逆を見つける必要があるため、エッジがuからvに移動すると、vからuに移動します。ここで入力は隣接リストになり、ノードがn個ある場合、ノードは(0、1、...、n-1)になります。 したがって、入力が次のような場合 その場合、出力は次のようになります これを解決するには、次の手順に従います- ans:=n個の異なるリストのリスト。nは頂点の数です 各インデックスi、およびグラフ内の隣接リストlについて、実行します lのxごとに、 ans [x]の最後にiを挿入します 回答を返す 理解を深めるために、次の実装を見てみましょう- 例
-
文字列に偶数の長さの単語を出力するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列を指定すると、文字列内のすべての単語を均等な長さで表示する必要があります。 アプローチ split()関数を使用して入力文字列を分割します。 forを使用して文字列の単語を繰り返し処理します ループ& len()を使用して単語の長さを計算します 機能。 長さが均等であると評価されると、単語が画面に表示されます。 それ以外の場合、画面に単語は表示されません。 次に、以下の実装を見てみましょう- 例 def printWords(s): # split