题意
给一个面积area( ≥1e8) ,要求找一个长为L,宽为W的矩阵,使满足:
- W⋅L=area
- L≥W
- L−W 最小
思路
要是L和W尽可能接近一定是
area−−−−√
了。所以我们从
0
到
时间复杂度 O(n√)
代码
class Solution {
public:
vector<int> constructRectangle(int area) {
int L = 1, W = 1;
for (int i = 1; i * i <= area; i++) {
if (area % i == 0) W = i;
}
L = area / W;
vector<int> ans;
ans.push_back(L);
ans.push_back(W);
return ans;
}
};