私は脳のティーザーの問題に取り組んでいますが、私は正しい解決策を持っていますが、それがどのように機能するかを明確にしたいと思います。より具体的には、ここで必要とされる領域の平方根はなぜですか?そして、w == 0を法とする領域まで毎回どのような値を減算しますか?領域の平方根を使った幾何学的原理はありますか?Construct Rectangleアルゴリズムはどのように機能しますか?
ソリューション:
public int[] constructRectangle(int area) {
int w = (int)Math.sqrt(area);
while (area%w!=0) w--;
return new int[]{area/w, w};
}
問題:
RectangleはWeb開発者のために
をリストに追加構築し、Webページのサイズを設計する方法を知っていることは非常に重要です。だから、特定の長方形のWebページの面積を考えると、今ではあなたの仕事は、その長さLと長方形のWebページを、設計することである幅Wは、次の要件を満たす:
あなたは必見設計された長方形のウェブページの領域を指定されたターゲット領域に等しい。
幅WはL> = W.
長さLと幅Wとの差はできるだけ小さくなければならないことを意味する、長さLよりも大きくすべきではありません。
あなたが順番に設計したウェブページの長さLと幅Wを出力する必要があります。
例:
入力:4
出力:[2,2]
説明:対象領域が4であり、それを構成するすべての可能な方法である[1,4] 、[2,2]、[4,1]である。 しかし、要件2によれば、[1,4]は違法です。要件3によれば、[4,1]は[2,2]に比べて最適ではない。だから、長さLは2であり、幅Wは、それが残りarea
に分かれるまでの整数area
while (area%w!=0) w--;
のSQRTデクリメントw
に最も近いw
を探す2
矩形の面積が必ずしも完全な正方形であるとは限りません。 –