nums라는 숫자 목록이 있다고 가정합니다. 그리고 정사각형 블록의 높이를 나타내는 것이므로 y =x 선에 대해 모양이 대칭인지 확인해야 합니다.
따라서 입력이 nums =[7, 5, 3, 2, 2, 1, 1]과 같으면 출력은 True
가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다.
- i :=0
- j :=숫자 크기 - 1
- 내가 <=j, 하는 동안
- h :=숫자[j]
- 내가
- nums[i]가 (j + 1)과 같지 않으면
- 거짓을 반환
- 나는 :=나는 + 1
- nums[i]가 (j + 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