leetcode的每日一题更新(Construct the Rectangle )

题目:大概意思就是如果假设你是web开发人员,给你一个网页的大小如何算长和宽,最简单的意思就是,给你一个数,你要算出它的最小距离的两个除的尽的数,并且前面的数要大于后面的数字。
思路:思路说完题目已经很清晰了,就是设置一个minin,如果小于这个mini就更新minin值和更新要返回数组的值,附上代码:

    public int[] constructRectangle(int area) {
        int mini=10000000;
        int[] result=new int[2];
        for(int i=1;i<=area;i++){
            if(area%i==0){
                if(Math.abs((area/i)-i)<mini){
                    mini=Math.abs((area/i)-i);
                    result[0]=area/i>i?area/i:i;
                    result[1]=area/i<i?area/i:i;
                }
            }
        }
        return result;
    }

看看高手的代码:

public int[] constructRectangle(int area) {
        int w = (int)Math.sqrt(area);
    while (area%w!=0) w--;
    return new int[]{area/w, w};
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容