Pythonで指定された2つの文字列の間にある辞書式順序で文字列を検索します
2つの文字列SとTがあるとすると、辞書式順序でSより大きくTより小さい同じ長さの文字列かどうかを確認する必要があります。そのような文字列がない場合は、-1を返す必要があります。 S =S1S2…Snは、辞書式順序でT =T1T2…Tnよりも小さいと呼ばれることに注意する必要があります。ただし、iが存在する場合、S1 =T1、S2 =T2、…Si – 1 =Ti – 1 Si
したがって、入力がS="bbb"およびT="ddd"の場合、出力は "bbc"
これを解決するには、次の手順に従います-
理解を深めるために、次の実装を見てみましょう-
例
def find_next(string):
n = len(string)
for i in range(n - 1, -1, -1):
if string[i] != 'z':
k = ord(string[i])
string[i] = chr(k + 1)
return ''.join(string)
string[i] = 'a'
S = "bbb"
T = "ddd"
S = list(S)
res = find_next(S)
if res != T:
print(res)
else:
print(-1)
入力
"bbb", "ddd"
出力
bbc
-
2つの文字列から珍しい単語を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 2つの文字列が与えられているので、与えられた文字列から珍しい単語を取得する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # uncommon words def find(A, B): # count count = {} # insert in A for word in A.split(): count[word] = coun
-
Pythonで2つの文字列を結合して1つの文字列に変換するにはどうすればよいですか?
Pythonで2つの文字列を結合するには、連結演算子+を使用できます。例: str1 = "Hello" str2 = "World" str3 = str1 + str2 print str3 これにより、出力が得られます: HelloWorld str.join(seq)を使用して、複数の文字列を結合することもできます。例: s = "-"; seq = ("a", "b", "c"); # This is sequence of strings. print s.j