最大三角形面积
原题在这里:
概述题意,给定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】

浙公网安备 33010602011771号