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

要素がPythonで厳密に減少および増加するシーケンスを形成するように、配列内の要素を検索します


正の数の配列があるとします。最初にアイテムが厳密に減少するシーケンスを作成し、次に厳密に増加する整数のシーケンスを作成するポイント/アイテムをチェックする必要があります。これらは次のプロパティです。シーケンスは最小長2でなければならないことに注意する必要があります

また、減少するシーケンスの最後の値が増加するシーケンスの最初の値になるように注意しました。

したがって、入力が{5、4、3、4}の場合、出力は3になります。これは、{5、4、3}が厳密に減少し、{3、4}が厳密に増加するためです。

これを解決するには、次の手順に従います-

  • 増加:=1、減少:=1
  • n:=配列のサイズ
  • 1からnの範囲のiについては、
    • if array [i]
    • 増加が1と同じ場合、
      • 減少:=減少+1
    • それ以外の場合、
      • 戻り値-1
  • それ以外の場合、array [i]> array [i-1]がゼロ以外の場合、
    • 増加が1と同じ場合、
      • pt:=array [i-1]
    • 減少>=2の場合、
      • 増加:=増加+1
    • それ以外の場合、
      • 戻り値-1
  • それ以外の場合、array[i]がarray[i-1]と同じである場合、
    • 戻り値-1
  • 増加>=2および減少>=2の場合、
    • リターンポイント
  • それ以外の場合、
    • 戻り値-1
  • 理解を深めるために、次の実装を見てみましょう-

    def search_element(array):
       increase = 1
       decrease = 1
       n = len(array)
       for i in range(1, n):
          if(array[i] < array[i-1]):
             if increase == 1:
                decrease = decrease + 1
             else:
                return -1
          elif(array[i] > array[i-1]):
             if increase == 1:
                pt = array[i-1]
             if decrease >= 2:
                increase = increase + 1
             else:
                return -1
          elif(array[i] == array[i-1]):
             return -1
       if(increase >= 2 and decrease >= 2):
          return pt
       else:
          return -1
    array = [5,4,3,4]
    element = search_element(array)
    print(element)

    入力

    [5,4,3,4]

    出力

    3

    1. 配列内の最大の要素を見つけるPythonプログラム

      この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、配列の最大要素を計算する必要があります。 ここでは、ループ全体をトラバースして最大の要素を計算し、要素を取得するブルートフォースアプローチを使用します。 以下の実装を観察できます。 例 # largest function def largest(arr,n):    #maximum element    max = arr[0]    # traverse the whole loop    for

    2. 配列内の最大の要素を見つけるPythonプログラム

      この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列を指定すると、配列内で最大の要素を見つける必要があります。 アプローチ maxを最初の要素として初期化します。 この後、指定された配列を2番目の要素から最後までトラバースします。 トラバースされたすべての要素について、現在のmaxの値と比較します maxより大きい場合、maxが更新されます。 それ以外の場合、ステートメントはを超えます 以下の実装を見てみましょう- 例 def largest(arr,n):    #maximal element