Leetcode PHP題解--D111 492. Construct the Rectangle

D111 492. Construct the Rectangle

題目連接

492. Construct the Rectanglephp

題目分析

給定矩形面積,求出寬高之差最小的邊長。函數

思路

由於是求出面積,所以先用sqrt函數求開方,向下求整。
再遞減,逐個嘗試面積除以邊長以後餘數是否爲0,即可否整除。.net

爲何從開方後的值開始?由於題目要求寬高之差要儘量小。code

最終代碼

<?php
class Solution {

    /**
     * @param Integer $area
     * @return Integer[]
     */
    function constructRectangle($area) {
        $mid = floor(sqrt($area));
        for($i=$mid; $i>1; $i--){
            if($area%$i == 0){
                return [$area/$i, $i];
            }
        }
        return [$area, 1];
    }
}

若以爲本文章對你有用,歡迎用愛發電資助。leetcode

相關文章
相關標籤/搜索