1. 程式人生 > >LeetCode 492 構造矩形

LeetCode 492 構造矩形

題目

leetcode上面的介紹太多了,這裡就簡單說說題意吧。
給定一個正整數,以該正整數為面積構造一個矩形。矩形的要求為,長寬為正整數,且長不比寬小,最後一點,長寬的差距儘可能小。

解答

從面積的平方根開始(這裡要說一下,如果面積開平方為整數,那就取這個整數;如果不是整數,那就向上取整),用面積除,得到的數轉為整型,然後判斷是不是能除整,這樣第一組能取整的數就是最後的結果了。

程式碼

class Solution {
    public int[] constructRectangle(int area) {
        int[] lw=new int[2];
        for
(int i=isInt(area);i<=area;i++){ int w=area/i; if(w*i==area){ lw[0]=i; lw[1]=w; break; } } return lw; } public int isInt(int num){ int i=(int)Math.sqrt(num); if(i*i==num) return
i; return i+1; } }