812. 最大三角形面积
Posted 心脏dance
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了812. 最大三角形面积相关的知识,希望对你有一定的参考价值。
题目链接:力扣
思路:第一想法要用什么算法呢?然后看了一眼是简单题,那肯定用不到啊。看了一眼数据,最多50个点,好吧,果断O(n^3)暴力解决。枚举所有三角形的面积,每次取一下最大值即可。因为题目给出了三个顶点的坐标,所以我们直接用向量来计算三角形的面积即可。
公式:在中,,,则
上代码:
import kotlin.math.abs
import kotlin.math.max
class Solution
fun largestTriangleArea(points: Array<IntArray>): Double
var result = 0.0
for (i in points.indices)
for (j in points.indices)
for (k in points.indices)
if (i != j && i != k && j != k)
val x1 = points[j][0] - points[i][0]
val y1 = points[j][1] - points[i][1]
val x2 = points[k][0] - points[i][0]
val y2 = points[k][1] - points[i][1]
result = max(result, abs(x1 * y2 - x2 * y1) / 2.0)
return result
以上是关于812. 最大三角形面积的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 812 最大三角形面积[枚举 向量] HERODING的LeetCode之路
LeetCode 812. 最大三角形面积(再次用到凸包的Andrew算法) / 面试题 04.06. 后继者 / 953. 验证外星语词典