Skip to main content

Command Palette

Search for a command to run...

Solving Leetcode Interviews in Seconds with AI: Number Of Rectangles That Can Form The Largest Square

Updated
2 min read

Introduction

In this blog post, we will explore how to solve the LeetCode problem "1725" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like Chatmagic, we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

Problem Statement

You are given an array rectangles where rectangles[i] = [li, wi] represents the ith rectangle of length li and width wi. You can cut the ith rectangle to form a square with a side length of k if both k <= li and k <= wi. For example, if you have a rectangle [4,6], you can cut it to get a square with a side length of at most 4. Let maxLen be the side length of the largest square you can obtain from any of the given rectangles. Return the number of rectangles that can make a square with a side length of maxLen. Example 1: Input: rectangles = [[5,8],[3,9],[5,12],[16,5]] Output: 3 Explanation: The largest squares you can get from each rectangle are of lengths [5,3,5,5]. The largest possible square is of length 5, and you can get it out of 3 rectangles. Example 2: Input: rectangles = [[2,3],[3,7],[4,3],[3,7]] Output: 3 Constraints: 1 <= rectangles.length <= 1000 rectangles[i].length == 2 1 <= li, wi <= 109 li != wi

Explanation

Here's the breakdown of the solution:

  • Find the Maximum Side Length: Iterate through the rectangles and determine the maximum possible side length of a square that can be cut from each rectangle (minimum of length and width). Find the overall maximum of these side lengths.
  • Count Rectangles: Iterate through the rectangles again and count how many can produce a square with the maximum side length found in the previous step.
  • Return the Count: Return the final count of rectangles that can form the largest square.

  • Runtime Complexity: O(n), where n is the number of rectangles. Storage Complexity: O(1).

Code

    def count_good_rectangles(rectangles):
    """
    Calculates the number of rectangles that can make a square with the largest possible side length.

    Args:
        rectangles: A list of lists, where each inner list represents a rectangle [length, width].

    Returns:
        The number of rectangles that can form a square with the maximum side length.
    """

    max_len = 0
    for l, w in rectangles:
        max_len = max(max_len, min(l, w))

    count = 0
    for l, w in rectangles:
        if min(l, w) == max_len:
            count += 1

    return count

More from this blog

C

Chatmagic blog

2894 posts