最大三角形面积

原题在这里

  概述题意,给定point二维数组表示点的坐标,问可构成最大三角形面积。

analyse:

  没别的,就en算数学,运用行列式转换公式:

code:

class Solution
{
    double area(int x1, int y1, int x2, int y2, int x3, int y3)
    {
        return 0.5 * abs(x1 * y2 + x2 * y3 + x3 * y1 - x1 * y3 - x2 * y1 - x3 * y2);
    }

public:
    double largestTriangleArea(vector<vector<int>> &points)
    {
        /*
        s=1/2*abs(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)
        */
        int n = points.size();
        double ans = 0.0;
        for (int i = 0; i < n; ++i)
            for (int j = i + 1; j < n; ++j)
                for (int k = j + 1; k < n; ++k)
                    ans = max(ans, area(points[i][0], points[i][1], points[j][0], points[j][1], points[k][0], points[k][1]));
        return ans;
    }
};

 

【Over】

posted @ 2022-05-15 13:10  Renhr  阅读(58)  评论(0)    收藏  举报