1209. 构造矩形(经典)

1209. 构造矩形

中文English

对于一个Web开发者,如何设计页面大小很重要。所以,给定一个矩形大小,设计其长(L)宽(W),使其满足如下要求:

1. 矩形区域大小需要和给定目标相等。

2. 宽度W不大于长度L,也即L >= W.

3. 长和宽的差异尽可能的小。

返回设计好的长度 L和宽度 W

样例

样例:

输入: 4
输出: [2, 2]
解释: 目标区域是4, 所有可能的构造方法是[1,4], [2,2], [4,1]. 
但根据要求2, [1,4]不合题; 根据要求3,  [4,1]没有[2,2]好。所以长度L是2,宽度W是2.

注意事项

  1. 给定区域面积不会超过10000000,而且是正整数。
  2. 页面宽度和长度必须是正整数。
输入测试数据 (每行一个参数)如何理解测试数据?
class Solution:
    """
    @param area: web page’s area
    @return: the length L and the width W of the web page you designed in sequence
    """
    ''' 
    大致思路:
    1.首先从中间开始求平方根,然后判断area%开始数 == 0,如果是等于0的话,则返回,否则开始数 - 1,继续找,最终返回.
    '''
    def constructRectangle(self,area):
        l = int(math.sqrt(area))
        while  area%l != 0:
            l -= 1
        return [area//l,l]

 

posted @ 2020-04-18 23:50  风不再来  阅读(242)  评论(0编辑  收藏  举报