力扣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 以内都认为是正确答案。
解题思路
暴力解题:已知三点坐标,求三角形面积,返回最大面积
计算方法
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.最大三角形面积相关推荐
- LeetCode 812. 最大三角形面积(再次用到凸包的Andrew算法) / 面试题 04.06. 后继者 / 953. 验证外星语词典
812. 最大三角形面积 2022.5.15 每日一题 题目描述 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积. 示例: 输入: points = [[0,0],[0, ...
- 812.最大三角形面积
812. 最大三角形面积 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积. 示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]] ...
- LeetCode 812. 最大三角形面积(坐标面积公式)
1. 题目 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积. 示例: 输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]] 输出: 2 ...
- 【Java语言】力扣系列----120. 三角形最小路径和
给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点. 例如,给定三角 ...
- 力扣—— 三维形体投影面积
在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上. 现在,我们查 ...
- D75 LeetCode 812.最大三角形面积(简单)
一.题目 二.思路(自己) 我觉得这道题考的是纯数学几何知识啊,用纯枚举 class Solution {public double largestTriangleArea(int[][] point ...
- 可爱宝宝力扣刷题集目录
总述 编程菜鸟一枚!2020年7月,我仍然还是一个几乎不会码代码的菜鸟,(好多小伙伴应该从本科入学就开始了吧.哎,捂脸并逃走),不过从今年4月底刷了有一个多月,狂刷了300多倒(截止2020.6,8) ...
- 岛屿类-网格类问题-DFS | 力扣695. 岛屿的最大面积
思路参考上文: 岛屿类-网格类问题-DFS | 力扣200. 岛屿数量 本文讲解695. 岛屿的最大面积问题,属于常见的岛屿类-网格类问题 本题使用DFS的思想 题目 给定一个包含了一些 0 和 1 ...
- 力扣(Leetcode)695. 岛屿的最大面积(Java)带注释
leetcode刷题695. 岛屿的最大面积 1.题目描述 2.解法 1.DFS(深度优先搜索) 2.DFS + 栈 1.题目描述 给你一个大小为 m x n 的二进制矩阵 grid . 岛屿 是由一 ...
最新文章
- 据说--------100年前光绪帝在北大的讲话
- cpu功耗排行_2020 主流手机处理器排行榜
- unable to read askpass response from '/usr/libexec/openssh/gnome-ssh-askpass
- 网易数据中台建设实践
- AI有道干货 --- 126 篇 AI 原创文章精选(ML、DL、资源、教程)
- 计算机运算的基本原理概论,[工学]7计算概论A A02 计算机的基本原理.pdf
- C#:String.Format数字格式化输出 {0:N2} {0:D2} {0:C2}...
- win 7更改计算机用户名和密码错误,解决win7一开机就显示用户名和密码错误故障...
- div做表格 html5,div+css制作表格
- Android耳机耳机,Android 耳机插拔流程源码跟踪浅析
- c语言程序拍照,拍照并获取照片
- matlab物理仿真可视化,基于Matlab的建模和仿真
- JDBC从入门到精通
- wechat微信聊天记录两台电脑转移
- 网站favicon图标(网站标志,显示在浏览器地址栏或标签上)
- 服务注册与发现(中)
- docker进入容器的方法
- 开源OA搭建教程:腾讯企业邮件接入O2平台
- SpringCloud(H版以及Alibaba版本)的学习笔记(三)
- java 限流(流量削峰)的几种方式和学习
热门文章
- java自带的jvm在哪里看_使用jdk工具查看jvm笔记
- 图像处理---《在图片上打印文字 FreeType库》
- Linux Shell基础 - Shell 脚本的执行方式
- 【bzoj4868】[Shoi2017]期末考试 前缀和+暴力
- WPF 后台访问资源图片
- C++/C学习笔记(九)
- HDU 1800(字典树)
- python语言分数等级转化_如何把分数转化成等级
- python输出所有素数_Python程序打印一个区间内所有质数
- eclipse编辑器未包含main类型_Shopify模版编辑器问题排查及解决办法汇总