Pythonで特定の文字列文字を含むピザを見つけることができる回数をカウントするプログラム
小文字の文字列sがあるとすると、sに存在する文字を使用して作成できる「ピザ」文字列の数を見つける必要があります。 sの文字は任意の順序で使用できますが、各文字は1回使用できます。
したがって、入力が「ihzapezlzzilaop」のような場合、出力は2になります。
これを解決するには、次の手順に従います-
- p_freq:=sの「p」の頻度
- i_freq:=sの「i」の頻度
- z_freq:=sの「z」の頻度
- a_freq:=sの「a」の頻度
- 最小値(p_freq、i_freq、z_freq / 2、およびa_freq)を返します
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, s): p_freq = s.count('p') i_freq = s.count('i') z_freq = s.count('z') a_freq = s.count('a') return min(p_freq, i_freq, z_freq // 2, a_freq) ob = Solution() print(ob.solve("ihzapezlzzilaop"))
入力
"ihzapezlzzilaop"
出力
2
-
Pythonで指定されたインデックスを使用して文字列をシャッフルするプログラム
文字列sとインデックスindのリストがあり、それらは同じ長さであるとします。文字列sは、位置iの文字が最終文字列のindexes[i]に移動するようにシャッフルされます。最後の文字列を見つける必要があります。 したがって、入力がs =ktoalak ind =[0,5,1,6,2,4,3]の場合、出力は「コルカタ」になります これを解決するには、次の手順に従います- fin_str:=サイズがsと同じで、0で埋められるリスト sの各インデックスiと文字vについて、実行します fin_str [ind [i]]:=v fin_strに存在する各文字を結合し
-
Pythonで捕まえることができる雨の総量を見つけるためのプログラム
n個の非負の整数の配列があるとします。これらは、各バーの幅が1である高さを表しており、雨が降った後にどれだけの水を捕まえることができるかを計算する必要があります。したがって、マップは次のようになります- ここでは、8つの青いボックスがあることがわかります。したがって、出力は8になります。 これを解決するには、次の手順に従います- スタックst、water:=0およびi:=0を定義します whilei<身長のサイズ =height [i]の場合、iをスタックにプッシュし、iを1増やします それ以外の場合 x:=スタックトップ要素、スタックからトップを削除 スタックが空でない場合