Go•largest-triangle-area/solution.go
package main
func largestTriangleArea(points [][]int) float64 {
twiceArea := 0
for i := 0; i < len(points); i++ {
for j := i + 1; j < len(points); j++ {
for k := j + 1; k < len(points); k++ {
area := absArea((points[j][0]-points[i][0])*(points[k][1]-points[i][1]) - (points[j][1]-points[i][1])*(points[k][0]-points[i][0]))
if area > twiceArea {
twiceArea = area
}
}
}
}
return float64(twiceArea) / 2
}
func absArea(value int) int {
if value < 0 {
return -value
}
return value
}
Python•largest-triangle-area/solution.py
class Solution:
def largestTriangleArea(self, points: list[list[int]]) -> float:
twice_area = class="syntax-number">0
for i in range(len(points)):
for j in range(i + class="syntax-number">1, len(points)):
for k in range(j + class="syntax-number">1, len(points)):
area = abs((points[j][class="syntax-number">0] - points[i][class="syntax-number">0]) * (points[k][class="syntax-number">1] - points[i][class="syntax-number">1]) - (points[j][class="syntax-number">1] - points[i][class="syntax-number">1]) * (points[k][class="syntax-number">0] - points[i][class="syntax-number">0]))
twice_area = max(twice_area, area)
return twice_area / class="syntax-number">2
TypeScript•largest-triangle-area/solution.ts
function largestTriangleArea(points: number[][]): number {
let twiceArea = class="syntax-number">0;
for (let i = class="syntax-number">0; i < points.length; i += class="syntax-number">1) for (let j = i + class="syntax-number">1; j < points.length; j += class="syntax-number">1) for (let k = j + class="syntax-number">1; k < points.length; k += class="syntax-number">1) {
const area = Math.abs((points[j][class="syntax-number">0] - points[i][class="syntax-number">0]) * (points[k][class="syntax-number">1] - points[i][class="syntax-number">1]) - (points[j][class="syntax-number">1] - points[i][class="syntax-number">1]) * (points[k][class="syntax-number">0] - points[i][class="syntax-number">0]));
twiceArea = Math.max(twiceArea, area);
}
return twiceArea / class="syntax-number">2;
}