Leetcode 812. 最大三角形面积
Published on 2022-05-24 16:34 in 分类: C/C++ with 萧海~
分类: C/C++

Leetcode 812. 最大三角形面积

    在这里插入图片描述
    给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。

    示例:

    输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]
    输出: 2
    解释:
    这五个点如下图所示。组成的橙色三角形是最大的,面积为2

    在这里插入图片描述
    注意:

    • 3 <= points.length <= 50.
    • 不存在重复的点。
    • -50 <= points[i][j] <= 50.
    • 结果误差值在 10^-6 以内都认为是正确答案。

    主要思路:暴力+海伦公式
    Code:

    class Solution {
    public:
    double largestTriangleArea(vector<vector<int>>& points) {
    double S=0;
    for(int i=0;i<points.size();i++)
    {
    for(int j=i+1;j<points.size();j++)
    {
    for(int k=j+1;k<points.size();k++)
    {
    double a=sqrt(pow(points[i][0]-points[j][0],2)+pow(points[i][1]-points[j][1],2));
    double b=sqrt(pow(points[i][0]-points[k][0],2)+pow(points[i][1]-points[k][1],2));
    double c=sqrt(pow(points[j][0]-points[k][0],2)+pow(points[j][1]-points[k][1],2));
    if(a+b>c && a+c>b &&b+c>a)
    {
    double p=(a+b+c)/2;
    double S1= sqrt(p*(p-a)*(p-b)*(p-c));
    if(S1>S)
    {
    S=S1;
    }
    }
    }
    }
    }
    return S;
    }
    };
    posted @   萧海~  阅读(49)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · DeepSeek 开源周回顾「GitHub 热点速览」
    · 记一次.NET内存居高不下排查解决与启示
    · 物流快递公司核心技术能力-地址解析分单基础技术分享
    · .NET 10首个预览版发布:重大改进与新特性概览!
    · .NET10 - 预览版1新功能体验(一)
    历史上的今天:
    2021-05-24 MFC-统计编辑框中的字符串长度和字符个数
    点击右上角即可分享
    微信分享提示
    电磁波切换