Pythonでi、j、k個のx、y、z文字のサブシーケンスの数を見つけるプログラム
「x」、「y」、「z」の文字列sがあるとすると、i個の「x」文字、j個の「y」文字、続いて続くサブシーケンスの数を見つける必要があります。 k個の「z」文字(i、j、k≥1)。
したがって、入力がs ="xxyz"の場合、出力は3になります。これは、2つの"xyz"と1つの"xxyz"を作成できるためです
これを解決するには、次の手順に従います。
-
n:=sのサイズ
-
x:=0、y:=0、z:=0
-
0からnの範囲のiの場合、実行
-
カウント:=0
-
s[i]が"x"と同じ場合、
-
x:=x * 2
-
x:=x + 1
-
-
s[i]が"y"と同じ場合、
-
y:=y * 2
-
y:=y + x
-
-
s[i]が"z"と同じ場合、
-
z:=z * 2
-
z:=z + y
-
-
-
zを返す
例
class Solution: def solve(self, s): n = len(s) x = 0 y = 0 z = 0 for i in range(n): count = 0 if s[i] == "x": x *= 2 x += 1 if s[i] == "y": y *= 2 y += x if s[i] == "z": z *= 2 z += y return z ob = Solution() print(ob.solve("xxyz"))
入力
"xxyz"
出力
3
-
Pythonで最大のビットごとのANDとビットごとのORを持つサブシーケンスを検索します
n個の要素の配列があるとすると、ビットの合計が最初のサブシーケンスのすべての要素の賢明なAND演算と、2番目のサブシーケンスのすべての要素のビット単位のOR演算が最大になります。 したがって、入力がA ={4、6、7、2}の場合、7のみを選択して最大AND値を取得し、すべてを選択して最大OR値を取得するため、出力は14になります(4 | 6 | 7 | 2)=7.したがって、結果は7 + 7=14になります。 これを解決するには、次の手順に従います- and_max:=arrの最大値 or_max:=0 0からarrのサイズまでの範囲のiの場合、実行します or_m
-
リスト内で最大数を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 与えられたリスト入力では、与えられたリストの中で最大の数を見つける必要があります。 ここでは、2つのアプローチについて説明します 並べ替え手法の使用 組み込みのmax()関数を使用する アプローチ1-組み込みのsort()関数を使用する 例 list1 = [18, 65, 78, 89, 90] list1.sort() # main print("Largest element is:", list1[-1]) 出力 Largest element is: