PythonのストリームでK番目に大きい要素
ストリーム内でk番目に大きい要素を見つけるクラスを設計するとします。これは、ソートされた順序でk番目に大きい要素であり、k番目の個別の要素ではありません。
KthLargestクラスには、整数kと配列numsを受け入れるコンストラクターがあり、ストリームからの初期要素が含まれます。 KthLargest.addメソッドを呼び出すたびに、ストリーム内でk番目に大きい要素を表す要素が返されます。
したがって、入力がk =3、初期要素=[4,5,8,2]のような場合は、add(3)、add(5)、add(10)、add(9)、add(4)を呼び出します。 。の場合、出力はそれぞれ4、5、5、8、8になります。
これを解決するには、次の手順に従います-
- 初期化子を定義します。これにはk、numsが必要です
- array:=nums
- 関数add()を定義します。これにはval
- が必要です
- 配列の最後にvalを挿入
- 配列を並べ替える
- return array [size of array -k]
理解を深めるために、次の実装を見てみましょう-
例
class KthLargest: def __init__(self, k, nums): self.array = nums self.k = k def add(self, val): self.array.append(val) self.array.sort() return self.array[len(self.array)-self.k] ob = KthLargest(3, [4,5,8,2]) print(ob.add(3)) print(ob.add(5)) print(ob.add(10)) print(ob.add(9)) print(ob.add(4))
入力
ob.add(3) ob.add(5) ob.add(10) ob.add(9) ob.add(4)
出力
4 5 5 8 8
-
配列内の最大の要素を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、配列の最大要素を計算する必要があります。 ここでは、ループ全体をトラバースして最大の要素を計算し、要素を取得するブルートフォースアプローチを使用します。 以下の実装を観察できます。 例 # largest function def largest(arr,n): #maximum element max = arr[0] # traverse the whole loop for
-
配列内の最大の要素を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列を指定すると、配列内で最大の要素を見つける必要があります。 アプローチ maxを最初の要素として初期化します。 この後、指定された配列を2番目の要素から最後までトラバースします。 トラバースされたすべての要素について、現在のmaxの値と比較します maxより大きい場合、maxが更新されます。 それ以外の場合、ステートメントはを超えます 以下の実装を見てみましょう- 例 def largest(arr,n): #maximal element