Categories:

Tags:



Problem

A web developer needs to know how to design a web page’s size. So, given a specific rectangular web page’s area, your job by now is to design a rectangular web page, whose length L and width W satisfy the following requirements:

  1. The area of the rectangular web page you designed must equal to the given target area.
  2. The width W should not be larger than the length L, which means L >= W.
  3. The difference between length L and width W should be as small as possible.

Return an array [L, W] where L and W are the length and width of the web page you designed in sequence.

Constraints

  • 1 <= area <= 107

Solution

The problem Construct the Rectangle can be solved by simply counting the number of consecutive 1’s in the array as told by the problem instruction.

Implementation

class Solution
{
  public:
    vector<int> constructRectangle(int area)
    {
        int width = sqrt(area);
        while (area % width)
            width -= 1;

        return vector<int>{area / width, width};
    }
};