leetcode 492. 構造矩形

【題目】492. 構造矩形

作爲一位web開發者, 懂得怎樣去規劃一個頁面的尺寸是很重要的。 現給定一個具體的矩形頁面面積,你的任務是設計一個長度爲 L 和寬度爲 W 且滿足以下要求的矩形的頁面。要求:

  1. 你設計的矩形頁面必須等於給定的目標面積。
  2. 寬度 W 不應大於長度 L,換言之,要求 L >= W 。
  3. 長度 L 和寬度 W 之間的差距應當儘可能小。
    你需要按順序輸出你設計的頁面的長度 L 和寬度 W。

示例:

輸入: 4
輸出: [2, 2]
解釋: 目標面積是 4, 所有可能的構造方案有 [1,4], [2,2], [4,1]。
但是根據要求2,[1,4] 不符合要求; 根據要求3,[2,2] 比 [4,1] 更能符合要求. 所以輸出長度 L 爲 2, 寬度 W 爲 2。

說明:
給定的面積不大於 10,000,000 且爲正整數。
你設計的頁面的長度和寬度必須都是正整數。

【解題思路1】從平方根開始往下找

class Solution {
    public int[] constructRectangle(int area) {
        int n = (int)Math.sqrt(area);
        while(area % n != 0){
            n--;
        }
        int[] res = new int[2];
        res[0] = area/n;
        res[1] = n;
        return res;
        //return new int[]{area / sqrt, sqrt};
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章