Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 유효한 산 배열

<시간/>

정수 배열 A가 있다고 가정합니다. 유효한 산 배열인지 여부를 확인해야 합니다. 다음 상황을 충족하는 경우에만 A가 산 배열이라는 것을 압니다. A>=3

의 크기

A에 −

와 같은 인덱스 i가 있습니다.
  • A[0]
  • A[i]> A[i+1]> ...> A[A.길이 - 1]

따라서 입력이 [0,3,2,1]과 같으면 출력이 True가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • A <3이면
    • 거짓을 반환
  • i :=1
  • i A[i-1] 동안 do
    • 나는 :=나는 + 1
  • i가 1과 같거나 i가 A의 크기와 같으면
    • 거짓을 반환
  • 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