Pythonで特定の文字列内の個別のサブ文字列の数を見つけるプログラム
's'で示される部分文字列が与えられたとします。一意の部分文字列を見つけて、これらの部分文字列の数を出力として返す必要があります。
したがって、入力がs ='prrstvt'のような場合、出力は26になります。
個別の部分文字列は-
になります'pr'、'rrs'、'st'、'rr'、'tv'、'rstv'、'stvt'、'prrstv'、'prrstvt'、'rrstvt'、's'、'prrst'、'stv '、' rrstv'、' rst'、' v'、' tvt'、' rstvt'、' r'、' rs'、' vt'、' t'、' prr'、' p'、' rrst'、および「prrs」。
これを解決するには、次の手順に従います-
- 訪問:=新しい地図
- 各インデックスind、および値let in sについて、実行します
- temp:=新しいセット
- ind-1がvisitedに存在する場合、
- visited [ind-1]のhas_letごとに、
- を実行します。
- リストの臨時雇用者に(has_let + let)を追加
- visited [ind-1]のhas_letごとに、
- リストの臨時雇用者に(let)を追加
- visited [ind]:=temp
- res:=新しいセット
- 訪問したセットごとに、
- resに(visited [sets])を追加
- 解像度のサイズを返す
例
理解を深めるために、次の実装を見てみましょう-
def solve(s): visited = dict() for ind, let in enumerate(s): temp = set() if ind-1 in visited: for has_let in visited[ind-1]: temp.add(has_let+let) temp.add(let) visited[ind] = temp res = set() for sets in visited: res.update(visited[sets]) return len(res) print(solve('prrstvt'))
入力
'prrstvt'
出力
26
-
指定された文字列が回文数であるかどうかを確認するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列入力が与えられた場合、それが回文であるかどうかを確認するためにPython関数を作成する必要があります。 文字列の逆が文字列と同一である場合、文字列は回文と呼ばれます。 これは2つの方法で実行できます- スライスによる反転 負の索引付けによる比較 ここでは、スライスの助けを借りて文字列の反転を学習します。 スライスの方法で文字列を反転するには、次のステートメントを指定します- Str[ : : -1 ] 開始パラメータと終了パラメータが割り当てられておらず、ステップ値
-
指定された文字列のバイナリ表現で最大の連続する1の長さを見つけるPythonプログラム。
数を指定して、バイナリ表現で最も長い連続する1の長さを見つけます。 例 Input: n = 15 Output: 4 The binary representation of 14 is 1111. アルゴリズム Step 1: input the number. Step 2: use one counter variable c=0. Step 3: Count the number of iterations to reach i = 0. Step 4: This operation reduces length of every sequence of 1s by one.