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

파이썬에서 주어진 블록 목록이 x =y 라인에서 대칭인지 여부를 확인하는 프로그램

<시간/>

nums라는 숫자 목록이 있다고 가정합니다. 그리고 정사각형 블록의 높이를 나타내는 것이므로 y =x 선에 대해 모양이 대칭인지 확인해야 합니다.

따라서 입력이 nums =[7, 5, 3, 2, 2, 1, 1]과 같으면 출력은 True

가 됩니다.

파이썬에서 주어진 블록 목록이 x =y 라인에서 대칭인지 여부를 확인하는 프로그램

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

  • i :=0
  • j :=숫자 크기 - 1
  • 내가 <=j, 하는 동안
    • h :=숫자[j]
    • 내가
    • nums[i]가 (j + 1)과 같지 않으면
      • 거짓을 반환
    • 나는 :=나는 + 1
  • j :=j - 1
  • 참 반환
  • 더 나은 이해를 위해 다음 구현을 살펴보겠습니다.

    예시

    class Solution:
       def solve(self, nums):
          i = 0
          j = len(nums) - 1
          while i <= j:
             h = nums[j]
             while i < h:
                if nums[i] != j + 1:
                   return False
                i += 1
                j -= 1
          return True
    
    ob = Solution()
    nums = [7, 5, 3, 2, 2, 1, 1]
    print(ob.solve(nums))

    입력

    [7, 5, 3, 2, 2, 1, 1]

    출력

    True