zl程序教程

您现在的位置是:首页 >  Java

当前栏目

力扣1725. 可以形成最大正方形的矩形数目(#Day28)

2023-02-18 16:23:55 时间

力扣1725. 可以形成最大正方形的矩形数目

本题的实现思路:在一次遍历中首先找到每个矩形中长和宽较短的为正方形的边长,维护一个最大边长的变量max_len,如果等于最大边长,最终计数结果加1;如果大于当前最大边长,更新最大边长即可。

from typing import List

def countGoodRectangles(rectangles: List[List[int]]) -> int:
    max_len = 0
    res = 0
    for length, weight in rectangles:
        k = min(length, weight)  # 取每一组长宽中较小的值
        if k == max_len:  # 等于当前最大的边长,结果加一
            res += 1
        elif k > max_len:  # 大于当前最大边长,更新最大边长
            res = 1
            max_len = k
    return res

rectangles = [[2, 3], [3, 7], [4, 3], [3, 7]]
print(countGoodRectangles(rectangles))  # 3

END