(力扣)第492. 构造矩形

492. 构造矩形


题目要求:

作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的。 现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求:

  1. 你设计的矩形页面必须等于给定的目标面积。
  2. 宽度 W 不应大于长度 L,换言之,要求 L >= W 。
  3. 长度 L 和宽度 W 之间的差距应当尽可能小。

你需要按顺序输出你设计的页面的长度 L 和宽度 W。


解题代码:
class Solution:
    def constructRectangle(self, area: int) -> List[int]:
        #构建一个数组用来存放符合条件的长宽
        a = [area,1]
        #遍历从1到area-1中可能作为的宽
        for i in range(1,area):
            #根据题目要求写出判断条件:
            ##(area%i == 0):长度和宽度必须都是正整数,矩形页面必须等于给定的目标面积
            ##(int((area/i) - i) < int(a[0]-a[1])):长度 L 和宽度 W 之间的差距应当尽可能小。
            ##int(area/i) >= i:宽度 W 不应大于长度 L,换言之,要求 L >= W 。
            if (area%i == 0) and (int((area/i) - i) < int(a[0]-a[1])) and int(area/i) >= i:
                a = [int(area/i),i]

        return a

我的leetcode.


(“请相信,付诸行动的事定会成功!”FIGHTING. . . .)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值