Leetcode812.Largest Triangle Area最大三角形面积
生活随笔
收集整理的這篇文章主要介紹了
Leetcode812.Largest Triangle Area最大三角形面积
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定包含多個點的集合,從其中取三個點組成三角形,返回能組成的最大三角形的面積。
示例: 輸入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]] 輸出: 2 解釋: 這五個點如下圖所示。組成的橙色三角形是最大的,面積為2。
注意:
- 3 <= points.length <= 50.
- 不存在重復的點。
- ?-50 <= points[i][j] <= 50.
- 結果誤差值在?10^-6?以內都認為是正確答案。
?
class Solution {
public:double largestTriangleArea(vector<vector<int>>& points) {int len = points.size();double MAX =0;for(int i = 0; i < len; i++){for(int j = i + 1; j < len; j++){for(int k = j + 1; k < len; k++){double a = GetLength(points[i][0], points[j][0], points[i][1], points[j][1]);double b = GetLength(points[i][0], points[k][0], points[i][1], points[k][1]);double c = GetLength(points[j][0], points[k][0], points[j][1], points[k][1]);if(a + b > c && a + c > b && b + c > a){//公式double p = (a + b + c) / 2;double s = sqrt(p * (p - a) * (p - b) * (p - c));MAX = max(MAX, s);}}}}return MAX;}double GetLength(int x1, int x2, int y1, int y2){return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));}
};
轉載于:https://www.cnblogs.com/lMonster81/p/10433952.html
總結
以上是生活随笔為你收集整理的Leetcode812.Largest Triangle Area最大三角形面积的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python创建virtualenv(虚
- 下一篇: 电视剧《楚留香传奇》的内容是?