492. 构造矩形
492. 構造矩形
作為一位web開發者, 懂得怎樣去規劃一個頁面的尺寸是很重要的。 現給定一個具體的矩形頁面面積,你的任務是設計一個長度為 L 和寬度為 W 且滿足以下要求的矩形的頁面。要求:
你設計的矩形頁面必須等于給定的目標面積。
寬度 W 不應大于長度 L,換言之,要求 L >= W 。
長度 L 和寬度 W 之間的差距應當盡可能小。
你需要按順序輸出你設計的頁面的長度 L 和寬度 W。
說明:
- 給定的面積不大于 10,000,000 且為正整數。
- 你設計的頁面的長度和寬度必須都是正整數。
解題思路
當L== R的時候,長度 L 和寬度 W 之間的差距是最小的,所以area開根號以后的值i是我們遍歷的起點,如果area是某個數的平方,我們可以直接返回這個數就是矩形的長和寬了,如果不滿足,我們不斷縮小i的值,這時候i作為寬度,i越來越小,長度就會越來越大,L和R的差距就會越來越大,因此我們只需要返回第一個滿足area%i==0的長和寬即可,這時說明寬度i恰好有一個長度可以和它組成area大小的矩形
代碼
func constructRectangle(area int) []int {for i := int(math.Sqrt(float64(area))); i >0 ; i-- {if area%i==0 {return []int{area/i,i}}}return []int{area,1} }總結
- 上一篇: 女人梦到洗衣服预示着什么
- 下一篇: 638. 大礼包