1. 程式人生 > >Leetcode492.Construct the Rectangle構造矩形

Leetcode492.Construct the Rectangle構造矩形

作為一位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。

說明:

  1. 給定的面積不大於 10,000,000 且為正整數。
  2. 你設計的頁面的長度和寬度必須都是正整數。
class Solution {
public:
    vector<int> constructRectangle(int area) {
        int x = sqrt(area);
        vector<int> res;
        int l, w;
        for(int i = x; i >= 1; i++)
        {
            if(area % i == 0)
            {
                l = max(i, area / i);
                w = min(i, area / i);
                break;
            }
        }
        res.push_back(l);
        res.push_back(w);
        return res;
    }
};