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

Pythonで有効なMountainArray


整数の配列Aがあるとします。それが有効な山の配列であるかどうかを確認する必要があります。 Aは、次の状況を満たしている場合にのみ、山の配列であることがわかります-Aのサイズ> =3

Aには次のようなインデックスiが存在します-

したがって、入力が[0,3,2,1]のような場合、出力はTrueになります。

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

  • サイズがA<3の場合、
    • Falseを返す
  • i:=1
  • iA [i-1]の場合、
    • i:=i + 1
  • iが1と同じか、iがAのサイズと同じ場合、
    • Falseを返す
  • i
  • i:=i + 1
  • iがAのサイズと同じ場合はtrueを返します
  • 理解を深めるために、次の実装を見てみましょう-

    class Solution:
       def validMountainArray(self, A):
          if(len(A)<3):
             return False
             i = 1
          while(i<len(A) and A[i]>A[i-1]):
             i+=1
          if(i==1 or i==len(A)):
             return False
          while(i<len(A) and A[i]<A[i-1]):
             i+=1
          return i==len(A)
    ob = Solution()
    print(ob.validMountainArray([0,3,2,1]))

    入力

    [0,3,2,1]

    出力

    True

    1. ソートされた配列をPythonでマージ

      2つの並べ替えられた配列AとBがあるとします。それらをマージして、1つの並べ替えられた配列Cのみを形成する必要があります。リストのサイズは異なる場合があります。 たとえば、A=[1,2,4,7]およびB=[1,3,4,5,6,8]とすると、マージされたリストCは[1,1,2,3,4、 4,5,6,7,8] これを解決するには、次の手順に従います- ifine i:=0、j:=0 and end:=length of A – 1 =0であり、A[end]ではありません。 end:=end – 1 whilej

    2. 与えられたサイズのグループで配列を逆にするPythonプログラム?

      =1の場合、配列内のすべての要素を逆にします。 アルゴリズム Revarray(A,n,p) /* A is an integer Array, n is the size of an array and every sub-array of size p starting from the beginning of the array and reverse it.*/ Step 1: i is the loop control variable which is initialized by 0. Step 2: using while loop check i is less than