Largest Triangle Area
给一个点的数组, 求最大的三角形, 这个题要是不知道 https://en.wikipedia.org/wiki/Shoelace_formula , 基本没法做.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class Solution { public double largestTriangleArea(int[][] points) { double res = 0; for (int i = 0; i < points.length; i++) for (int j = i+1; j < points.length; j++) for (int k = j+1; k < points.length; k++) res = Math.max(res, area(points[i], points[j], points[k])); return res; } public double area(int[] P, int[] Q, int[] R) { return 0.5 * Math.abs(P[0]*Q[1] + Q[0]*R[1] + R[0]*P[1] -P[1]*Q[0] - Q[1]*R[0] - R[1]*P[0]); } } |