假设我们有一个名为 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],所以有三个最大的矩形。
让我们看看以下实现以获得更好的理解 -
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