Construct the Rectangle
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:
- The area of the rectangular web page you designed must equal to the given target area.
- The width
W
should not be larger than the lengthL
, which meansL >= W
. - The difference between length
L
and widthW
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};
}
};