Python程序:检查给定方块列表是否关于x=y线对称


假设我们有一个名为nums的数字列表。它表示方形块的高度,我们必须检查该形状是否关于y=x线对称。

因此,如果输入类似于nums = [7, 5, 3, 2, 2, 1, 1],则输出为True

为了解决这个问题,我们将遵循以下步骤

  • i := 0
  • j := nums的大小 - 1
  • 当i <= j时,执行以下操作
    • h := nums[j]
    • 当i < h时,执行以下操作
      • 如果nums[i]不等于(j + 1),则
        • 返回False
      • i := i + 1
    • j := j - 1
  • 返回True

让我们看看下面的实现,以便更好地理解

示例

在线演示

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

更新于:2020年11月26日

334次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告