lc-go/solutions/8/q812/solution.go
2026-01-13 00:14:04 +09:00

24 lines
525 B
Go

package q812
func area2(a, b []int) float64 {
return float64((a[1]+b[1])*(b[0]-a[0])) / 2
}
func largestTriangleArea(points [][]int) float64 {
var maxArea float64
for a := 0; a < len(points)-2; a++ {
for b := a + 1; b < len(points)-1; b++ {
for c := b + 1; c < len(points); c++ {
area := area2(points[a], points[b]) + area2(points[b], points[c]) + area2(points[c], points[a])
if area < 0 {
area = -area
}
maxArea = max(maxArea, area)
}
}
}
return maxArea
}
var _ = largestTriangleArea