次のより大きな要素のための興味深いPython実装
この記事では、次に大きい要素を予測するための関数の定義とユーザー定義について学習します。
問題の説明
配列が与えられ、配列に存在するすべての要素に対してNextGreaterElementを出力する必要があります。任意の要素yの次に大きい要素は、配列のxの右側に存在する最初の最大要素です。最大の要素が存在しない要素は、出力として-1を返します。4
入力テストケース
[12,1,2,3]
出力
12 -> -1 1 -> 3 2 -> 3 3 -> -1
それでは、ソースコードを見てみましょう。
例
# Function Def elevalue(arr): # Iteration for i in range(0, len(arr)): # slicing max final = max(arr[i:]) # greatest check if (arr[i] == final): print("% d -> % d" % (arr[i], -1)) else: print("% d -> % d" % (arr[i], final)) # Driver program def main(): arr = [12,1,2,3] elevalue(arr) arr = [1,34,2,1] elevalue(arr) if __name__ == '__main__': main()
出力
12 -> -1 1 -> 3 2 -> 3 3 -> -1 1 -> 34 34 -> -1 2 -> -1 1 -> -1
結論
この記事では、ユーザー定義関数を使用して、次に大きな要素の興味深いPython実装について学びました。
-
バブルソート用のPythonプログラム
この記事では、バブルソートの並べ替え手法の実装について学習します。 次の図は、このアルゴリズムの動作を示しています- アプローチ 最初の要素(インデックス=0)から始めて、現在の要素を配列の次の要素と比較します。 現在の要素が配列の次の要素よりも大きい場合は、それらを交換します。 現在の要素が次の要素よりも小さい場合は、次の要素に移動します。 手順1を繰り返します。 次に、以下の実装を見てみましょう- 例 def bubbleSort(ar): n = len(arr) # Traverse through
-
Pythonの内部動作
この記事では、Pythonの内部動作と、Pythonインタープリターによってさまざまなオブジェクトがメモリ内のスペースに割り当てられる方法について学習します。 Pythonは、Javaのようなオブジェクト指向プログラミング構築言語です。 Pythonはインタプリタを使用するため、インタプリタ言語と呼ばれます。 Pythonは、読みやすさを向上させ、時間とスペースの複雑さを最小限に抑えるために、ミニマリズムとモジュール性をサポートしています。 Pythonの標準実装は「cpython」と呼ばれ、cコードを使用してPythonで出力を取得できます。 Pythonは、ソースコードを一連のバイトコ