美文网首页
492. Construct the Rectangle

492. Construct the Rectangle

作者: 殷水臣 | 来源:发表于2017-02-21 21:29 被阅读0次

    我自己的写得很丑很慢,开平方计算太慢了,没什么好说的,看看人家的。

    我的解法

    class Solution {
    public:
        vector<int> constructRectangle(int area) {
            vector<int> output;
            int w = sqrt(area) / 1;
            int a = 0, b = 0;
            for (int i = w; i <= area; i ++)
                if (area % i == 0){
                    b = area / i;
                    a = i >= b ? i : b;
                    output.push_back(a);
                    output.push_back(area / a);
                    return output;
                }
        }
    };
    

    人家的解法

    平方比开方运算快得多= =

    class Solution {
    public:
        vector<int> constructRectangle(int area) {
            if (area <= 0) return vector<int> {};
            vector<int> res;
            int w = area;
            for (int i = 1; i * i <= area; ++i) {
                if (area % i == 0) w = i;
            }
            return vector<int> {area / w, w};
        }
    };
    

    相关文章

      网友评论

          本文标题:492. Construct the Rectangle

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