题目描述

给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。

示例

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

注意

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

解题思路

暴力解题:已知三点坐标,求三角形面积,返回最大面积
计算方法
1:海伦公式
2:向量法

代码

//海伦公式
double getLength(int *point1,int *point2){return sqrt(      (point1[0]-point2[0])*(point1[0]-point2[0]) + (point1[1]-point2[1])*(point1[1]-point2[1])                            );
}
/*
向量法S = 0.5 * |A * B|= 0.5 * |X1Y2 + X2Y3 + X3Y1 -X2Y1 -X3Y2 -X1Y3|
double getArea(int *point1, int *point2, int *point3){return 0.5 * abs(point1[0]*ppoint2[1] + point2[0]*point3[1] + point3[0]*point1[1]- point2[0]*point1[1] - point3[0]*point2[1] -point1[0]*point3[1]);
}
*/double largestTriangleArea(int** points, int pointsSize, int* pointsColSize){int i,j,k;double a;double b;double c;double p;double s;double ret=0;for(i = 0; i < pointsSize - 2; i++) {for(j = i + 1; j < pointsSize - 1; j++) {for(k = j + 1; k < pointsSize; k++) {a = getLength(points[i],points[j]);b = getLength(points[i],points[k]);c = getLength(points[k],points[j]);p = (a+b+c)/2;s = sqrt(p*(p-a)*(p-b)*(p-c));//s=getArea(points[i], points[j], points[k]);ret = s > ret?  s:ret;}}}return ret;
}

链接

力扣812.最大三角形面积相关推荐

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

    812. 最大三角形面积 2022.5.15 每日一题 题目描述 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积. 示例: 输入: points = [[0,0],[0, ...

  2. 812.最大三角形面积

    812. 最大三角形面积 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积. 示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]] ...

  3. LeetCode 812. 最大三角形面积(坐标面积公式)

    1. 题目 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积. 示例: 输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]] 输出: 2 ...

  4. 【Java语言】力扣系列----120. 三角形最小路径和

    给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点. 例如,给定三角 ...

  5. 力扣—— 三维形体投影面积

    在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上. 现在,我们查 ...

  6. D75 LeetCode 812.最大三角形面积(简单)

    一.题目 二.思路(自己) 我觉得这道题考的是纯数学几何知识啊,用纯枚举 class Solution {public double largestTriangleArea(int[][] point ...

  7. 可爱宝宝力扣刷题集目录

    总述 编程菜鸟一枚!2020年7月,我仍然还是一个几乎不会码代码的菜鸟,(好多小伙伴应该从本科入学就开始了吧.哎,捂脸并逃走),不过从今年4月底刷了有一个多月,狂刷了300多倒(截止2020.6,8) ...

  8. 岛屿类-网格类问题-DFS | 力扣695. 岛屿的最大面积

    思路参考上文: 岛屿类-网格类问题-DFS | 力扣200. 岛屿数量 本文讲解695. 岛屿的最大面积问题,属于常见的岛屿类-网格类问题 本题使用DFS的思想 题目 给定一个包含了一些 0 和 1 ...

  9. 力扣(Leetcode)695. 岛屿的最大面积(Java)带注释

    leetcode刷题695. 岛屿的最大面积 1.题目描述 2.解法 1.DFS(深度优先搜索) 2.DFS + 栈 1.题目描述 给你一个大小为 m x n 的二进制矩阵 grid . 岛屿 是由一 ...

最新文章

  1. 据说--------100年前光绪帝在北大的讲话
  2. cpu功耗排行_2020 主流手机处理器排行榜
  3. unable to read askpass response from '/usr/libexec/openssh/gnome-ssh-askpass
  4. 网易数据中台建设实践
  5. AI有道干货 --- 126 篇 AI 原创文章精选(ML、DL、资源、教程)
  6. 计算机运算的基本原理概论,[工学]7计算概论A A02 计算机的基本原理.pdf
  7. C#:String.Format数字格式化输出 {0:N2} {0:D2} {0:C2}...
  8. win 7更改计算机用户名和密码错误,解决win7一开机就显示用户名和密码错误故障...
  9. div做表格 html5,div+css制作表格
  10. Android耳机耳机,Android 耳机插拔流程源码跟踪浅析
  11. c语言程序拍照,拍照并获取照片
  12. matlab物理仿真可视化,基于Matlab的建模和仿真
  13. JDBC从入门到精通
  14. wechat微信聊天记录两台电脑转移
  15. 网站favicon图标(网站标志,显示在浏览器地址栏或标签上)
  16. 服务注册与发现(中)
  17. docker进入容器的方法
  18. 开源OA搭建教程:腾讯企业邮件接入O2平台
  19. SpringCloud(H版以及Alibaba版本)的学习笔记(三)
  20. java 限流(流量削峰)的几种方式和学习

热门文章

  1. java自带的jvm在哪里看_使用jdk工具查看jvm笔记
  2. 图像处理---《在图片上打印文字 FreeType库》
  3. Linux Shell基础 - Shell 脚本的执行方式
  4. 【bzoj4868】[Shoi2017]期末考试 前缀和+暴力
  5. WPF 后台访问资源图片
  6. C++/C学习笔记(九)
  7. HDU 1800(字典树)
  8. python语言分数等级转化_如何把分数转化成等级
  9. python输出所有素数_Python程序打印一个区间内所有质数
  10. eclipse编辑器未包含main类型_Shopify模版编辑器问题排查及解决办法汇总