在Python中找出能形成最大正方形的矩形数

在Python中找出能形成最大正方形的矩形数

假设我们有一个叫 rect 的数组,其中 rect[i] 有两个元素 [len_i, wid_i],其中 len_i 和 wid_i 分别表示第 i 个矩形的长度和宽度。现在,如果 k <= lenn_i 且 k <= wid_i,则我们可以裁剪第 i 个矩形,形成一个边长为 k 的正方形。例如,如果我们有一个矩形 [4,6],那么我们可以裁剪它以得到一个最多为 4 个单位的边长的正方形。现在考虑一个称为 maxLen 的参数,它是我们可以从任何给定的矩形中获得的最大正方形的边长。我们必须找出我们可以用最大边长 maxLen 制造正方形的矩形的数量。

因此,如果输入为 rect = [[6,9],[4,10],[6,13],[17,6]],则输出将为 3,因为我们可以得到边长为 [6, 4, 6, 6] 的最大正方形,因此有三个矩形是最大的。

要解决此问题,我们将按照以下步骤进行 –

  • m:一个新列表

  • 对于 rect 中的每个 r,执行以下操作 –

    • 将 r 的最小值插入到 m 的末尾
  • 统计 m 中出现的最大值并返回

更多Python相关文章,请阅读:Python 教程

示例(Python)

请查看以下实现以更好地理解 –

def solve(rect):
  m = []
  for r in rect:
     m.append(min(r))

  return m.count(max(m))

rect = [[6,9],[4,10],[6,13],[17,6]]
print(solve(rect))

输入

[[6,9],[4,10],[6,13],[17,6]]

输出

3

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程