对于一个Web开发者,如何设计页面大小很重要。所以,给定一个矩形大小,设计其长(L)宽(W),使其满足如下要求:
-
矩形区域大小需要和给定目标相等。
-
宽度W不大于长度L,也即L >= W.
-
长和宽的差异尽可能的小。
返回设计好的长度 L和宽度 W。
样例:
输入: 4
输出: [2, 2]
解释: 目标区域是4, 所有可能的构造方法是[1,4], [2,2], [4,1].
但根据要求2, [1,4]不合题; 根据要求3, [4,1]没有[2,2]好。所以长度L是2,宽度W是2.
class Solution {
public:
/**
* @param area: web page’s area
* @return: the length L and the width W of the web page you designed in sequence
*/
vector<int> constructRectangle(int area) {
// Write your code here
int sub;
int smin=area+1;
vector<int> result(2);
for (int i = 1; i * i <= area; i++) {
/* code */
if(area%i==0)
{
sub=area/i-i;
if(smin>sub)
{
smin=sub;
result[0]=area/i;
result[1]=i;
}
}
}
return result;
}
};