In this Leetcode Construct the Rectangle problem solution 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 length L, which means L >= W.

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.

## Problem solution in Python.

```class Solution:
def constructRectangle(self, area: int) -> List[int]:
from functools import reduce

def factors(n):
([i, n//i] for i in range(1, int(n**0.5) + 1) if n % i == 0))))

l1 = factors(area)
l2 = []
max_diff = area - 1
for i in l1:

a = area//i
if i >= a and i - a < max_diff:
max_diff = i - a
l2.append([i])
if not l2:
return [area, 1]
else:
b = min(l2)
return [b, area//b]```

## Problem solution in Java.

```class Solution {
public int[] constructRectangle(int area) {
int sqrt = (int)Math.sqrt(area);
for(int i = sqrt; i > 0; i--){
if(area % i == 0)
return new int[]{area/i, i};
}
return new int[]{area, 1};
}
}```

## Problem solution in C++.

```vector<int> constructRectangle(int area) {
for(int mid = sqrt(area); mid>0; mid--)
if (!(area%mid))
return {area/mid, mid};
}```