題目:大概意思就是如果假設(shè)你是web開(kāi)發(fā)人員势就,給你一個(gè)網(wǎng)頁(yè)的大小如何算長(zhǎng)和寬纸厉,最簡(jiǎn)單的意思就是系吭,給你一個(gè)數(shù),你要算出它的最小距離的兩個(gè)除的盡的數(shù)颗品,并且前面的數(shù)要大于后面的數(shù)字肯尺。
思路:思路說(shuō)完題目已經(jīng)很清晰了,就是設(shè)置一個(gè)minin躯枢,如果小于這個(gè)mini就更新minin值和更新要返回?cái)?shù)組的值则吟,附上代碼:
public int[] constructRectangle(int area) {
int mini=10000000;
int[] result=new int[2];
for(int i=1;i<=area;i++){
if(area%i==0){
if(Math.abs((area/i)-i)<mini){
mini=Math.abs((area/i)-i);
result[0]=area/i>i?area/i:i;
result[1]=area/i<i?area/i:i;
}
}
}
return result;
}
看看高手的代碼:
public int[] constructRectangle(int area) {
int w = (int)Math.sqrt(area);
while (area%w!=0) w--;
return new int[]{area/w, w};
}