LeetCode 492 構造矩形
阿新 • • 發佈:2019-01-31
題目
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;
}
}