Python
 Computer >> コンピューター >  >> プログラミング >> Python

次のより大きな要素のための興味深い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実装について学びました。


  1. バブルソート用のPythonプログラム

    この記事では、バブルソートの並べ替え手法の実装について学習します。 次の図は、このアルゴリズムの動作を示しています- アプローチ 最初の要素(インデックス=0)から始めて、現在の要素を配列の次の要素と比較します。 現在の要素が配列の次の要素よりも大きい場合は、それらを交換します。 現在の要素が次の要素よりも小さい場合は、次の要素に移動します。 手順1を繰り返します。 次に、以下の実装を見てみましょう- 例 def bubbleSort(ar):    n = len(arr)    # Traverse through

  2. Pythonの内部動作

    この記事では、Pythonの内部動作と、Pythonインタープリターによってさまざまなオブジェクトがメモリ内のスペースに割り当てられる方法について学習します。 Pythonは、Javaのようなオブジェクト指向プログラミング構築言語です。 Pythonはインタプリタを使用するため、インタプリタ言語と呼ばれます。 Pythonは、読みやすさを向上させ、時間とスペースの複雑さを最小限に抑えるために、ミニマリズムとモジュール性をサポートしています。 Pythonの標準実装は「cpython」と呼ばれ、cコードを使用してPythonで出力を取得できます。 Pythonは、ソースコードを一連のバイトコ