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. 最大三角形面积的主要内容,如果未能解决你的问题,请参考以下文章

812. 最大三角形面积

LeetCode 812 最大三角形面积[枚举 向量] HERODING的LeetCode之路

LeetCode 812. 最大三角形面积(再次用到凸包的Andrew算法) / 面试题 04.06. 后继者 / 953. 验证外星语词典

LeetCode 五月打卡-day15

1005. 三角形最大面积

UVa 1331 最大面积最小的三角剖分