美文网首页
leetcode的每日一题更新(Construct the Re

leetcode的每日一题更新(Construct the Re

作者: 今天是晴天 | 来源:发表于2017-05-13 10:07 被阅读0次

    题目:大概意思就是如果假设你是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};
    }
    

    相关文章

      网友评论

          本文标题:leetcode的每日一题更新(Construct the Re

          本文链接:https://www.haomeiwen.com/subject/bahxxxtx.html