作成できる文字列の数を見つけるプログラム。ここで、「a」は「a」または「b」であり、「b」はPythonでは「b」のままです。
「a」と「b」だけの文字列sがあるとします。 「a」は「a」のままにすることも「b」に変えることもできますが、「b」を変更することはできません。作成できる一意の文字列の数を見つける必要があります。
したがって、入力がs ="baab"のような場合、これらの文字列を作成できるため、出力は4になります-["baab"、 "babb"、 "bbab"、 "bbbb"]
これを解決するには、次の手順に従います-
- counts:=sの「a」の頻度
- 2^カウントを返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, s): counts = s.count('a') total = 2**(counts) return total ob = Solution() print(ob.solve("baab"))
入力
"baab"
出力
4
-
Pythonでメッセージをデコードできるいくつかの方法を見つけるためのプログラム
a =1、b =2、...z =26のようなマッピングがあり、エンコードされたメッセージメッセージ文字列があるとすると、デコードできる方法の数を数える必要があります。 したがって、入力がmessage =222の場合、出力は3になります。これは、bbb、bv、vbの3つの方法でデコードできるためです。 これを解決するには、次の手順に従います- memo:=メッセージサイズ+1と同じサイズの0のリスト memo [0]:=1 memo [1]:=1(message [0]が「0」と同じでない場合)それ以外の場合は0 2からメッセージのサイズまでの範囲のiの場合、実
-
Pythonで1つの文字列を他の文字列のサブ文字列にするために必要な最小数の操作を見つけるプログラム
2つの文字列sとtがあるとすると、sがtをsの部分文字列にするために必要な操作の最小量を見つける必要があります。これで、各操作で、s内の任意の位置を選択し、その位置の文字を他の任意の文字に変更できます。 したがって、入力がs =abbpqr、t =bbxyの場合、サブストリング bbpqを取得して、pをxに、qをに変更できるため、出力は2になります。 y。 これを解決するには、次の手順に従います- k:=tのサイズ、n:=sのサイズ ans:=10 ^ 10 0からn-kの範囲のiの場合、do ss:=s[インデックスiからi+k-1へ]の部分文字列 ans:=最小のans