程序在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],所以有三个最大的矩形。
示例(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