配列内のxより大きいすべての値をフィルター処理するプログラム
numsという番号のリストがあるとします。別の数xもあります。フィルタリングによって、x未満のnumsからすべての数値を見つける必要があります。 Pythonを使用する場合、関数を引数として受け取り、この関数を使用してフィルター処理するfilter()メソッドが1つあります。
したがって、入力がnums =[1,5,8,3,6,9,12,77,55,36,2,5,6,12,87] x =50の場合、出力は[ 1、5、8、3、6、9、12、36、2、5、6、12]
これを解決するには、次の手順に従います-
-
関数fを定義します。これは、引数a
を取ります。 -
-
left_items:=関数f
を使用してnumsをフィルタリングします -
フィルタオブジェクトleft_itemsをリストに変換して返す
例
理解を深めるために、次の実装を見てみましょう
def solve(nums, x): left_items = filter(lambda a: a < x, nums) return list(left_items) nums = [1,5,8,3,6,9,12,77,55,36,2,5,6,12,87] x = 50 print(solve(nums, x))
入力
[1,5,8,3,6,9,12,77,55,36,2,5,6,12,87], 50
出力
[1, 5, 8, 3, 6, 9, 12, 36, 2, 5, 6, 12]
-
ツリー内のすべての値がPythonで同じかどうかをチェックするプログラム
二分木があるとすると、ツリー内のすべてのノードが同じ値であるかどうかを確認する必要があります。 したがって、入力が次のような場合 その場合、出力はTrueになります これを解決するには、次の手順に従います- 関数solve()を定義します。これはルートになり、val ルートがnullの場合、 Trueを返す valが定義されていない場合、 val:=ルートの値 ルートの値がvalと同じで、solve(ルートの左側、val)およびsolve(ルートの右側、val)もtrueの場合、trueを返します 理解を深めるために、次の実装を見
-
Pythonの範囲内にないすべてのノードをBSTから削除するプログラム
低値と高値の2つの値を持つBSTがあるとすると、[低、高](両端を含む)の間にないすべてのノードを削除する必要があります。 したがって、入力が次のような場合 低=7高=10の場合、出力はになります。 これを解決するには、次の手順に従います- 関数solve()を定義します。これは根を下ろし、低く、高くなります rootがnullの場合、 戻る returnsolve(ルートの右、低、高) ルートのデータが高い場合は returnsolve(ルートの左側、低、高) ルートの権利:=solve(ルートの権利、低、高) ルートの左側:=solve(ルートの左側