Leetcode Note: Go - Construct Rectangle

Construct the Rectangle - LeetCode
https://leetcode.com/problems/construct-the-rectangle/

  • Go 言語で取り組んだメモ

所感

  • int で面積が与えられるので、その面積を満たす rectangle の length, width を int 配列で return する
  • length >= width となるよう調整する

回答

[GO] Math solution - LeetCode Discuss
https://leetcode.com/problems/construct-the-rectangle/discuss/556023/GO-Math-solution

func constructRectangle(area int) []int {
	for mid := int(math.Sqrt(float64(area))); ; mid-- {
		if area%mid == 0 {
			return []int{area / mid, mid}
		}
	}
}
  • for ループで mid に square root をセット
    • そこから mid をデクリメントしていく
    • これで length >= width となる組み合わせを走査していける