Thursday, December 27, 2018

812. Largest Triangle Area



81.34 %
class Solution {
    public double largestTriangleArea(int[][] points) {
if (points == null || points.length < 3) return 0;
double result = 0;
int N = points.length;
for (int i = 0; i < N; i++) {
for (int j = 0; j < i; j++) {
for (int k = 0; k < j; k++) {
result = Math.max(result, area(points[i][0], points[i][1], points[j][0], points[j][1], points[k][0], points[k][1]));
}
}
}
return result;
}
// [[8,3],[5,6],[3,5]]
private double area(int ax, int ay, int bx, int by, int cx, int cy) {
// Area = 0.5 * (Ax(By - Cy) + Bx(Cy - Ay) + Cx(Ay-By))
return 0.5 * Math.abs(ax * (by - cy) + bx * (cy - ay) + cx * (ay - by));
}
}

No comments:

Post a Comment