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
- 如果nums[i]不等于(j + 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
广告