日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

492. 构造矩形

發布時間:2023/11/29 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 492. 构造矩形 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

492. 構造矩形

作為一位web開發者, 懂得怎樣去規劃一個頁面的尺寸是很重要的。 現給定一個具體的矩形頁面面積,你的任務是設計一個長度為 L 和寬度為 W 且滿足以下要求的矩形的頁面。要求:

  • 你設計的矩形頁面必須等于給定的目標面積。

  • 寬度 W 不應大于長度 L,換言之,要求 L >= W 。

  • 長度 L 和寬度 W 之間的差距應當盡可能小。
    你需要按順序輸出你設計的頁面的長度 L 和寬度 W。

  • 示例:輸入: 4 輸出: [2, 2] 解釋: 目標面積是 4, 所有可能的構造方案有 [1,4], [2,2], [4,1]。 但是根據要求2,[1,4] 不符合要求; 根據要求3,[2,2] 比 [4,1] 更能符合要求. 所以輸出長度 L 為 2, 寬度 W 為 2。

    說明:

    • 給定的面積不大于 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} }

    總結

    以上是生活随笔為你收集整理的492. 构造矩形的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。