跳至正文

每日一题——1725. 可以形成最大正方形的矩形数目

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

给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li 、宽度为 wi 。

如果存在 k 同时满足 k <= li 和 k <= wi ,就可以将第 i 个矩形切成边长为 k 的正方形。例如,矩形 [4,6] 可以切成边长最大为 4 的正方形。

设 maxLen 为可以从矩形数组 rectangles 切分得到的 最大正方形 的边长。

请你统计有多少个矩形能够切出边长为 maxLen 的正方形,并返回矩形 数目 。


我觉得算模拟题吧

遍历的时候一个存长度一个存数量

如果最大长度和当前长方形长度相等

那么数量就增加

如果当前长方形长度更长 那么就要更新长度

同时数量变为1

public class Solution {
    public int CountGoodRectangles(int[][] rectangles) {
        if(rectangles.GetLength(0) == 1)
        {
            return 1;
        }
        int ans = 0;
        int maxLen = 0;
        foreach (int[] rectangle in rectangles) {
            int l = rectangle[0], w = rectangle[1];
            int k = Math.Min(l, w);
            if (k == maxLen) 
            {
                ans++;
            } 
            else if (k > maxLen) 
            {
                ans = 1;
                maxLen = k;
            }
        }
        return ans;
    }
}

 

发表评论

您的电子邮箱地址不会被公开。