492.构造矩形

https://leetcode-cn.com/problems/construct-the-rectangle/

一、数学法

先求面积s的平方根s\sqrt s,找平方根的天花板a=ceil(s\sqrt s),然后开始迭代,看s/a是否为整数,不是就将a加一,直到s/a是整数为止,此时a和s/a就是结果

class Solution:
    def constructRectangle(self, area: int) -> List[int]:
        s = sqrt(area)
        a = ceil(s)
        while area % a:     #当area不能被a整除,就把a一直往上加
            a += 1    
        return [a,area // a]

最后更新于