zoukankan      html  css  js  c++  java
  • leetcode日志(200802) 最大三角形面积

     

     正经的写肯定是三重循环确定三个点然后根据数学公式以三个点坐标计算所有的面积,一直保存最大值就可以了。

    不过还是先想想有没有什么可以优化的地方。。

    三角形问题还没有认真研究过,还是借肩膀一用

    也没有什么好的方法,就是计算面积的时候有点东西(和数学一样)

     这是题解里给出的鞋带公式计算多边形面积

     下面自己用海伦公式做一遍

    class Solution {
        public double largestTriangleArea(int[][] points) {
              int l=points.length; 
              double max=0;
              double tem;
              for(int i=0;i<l;i++)
                for(int j=i+1;j<l;j++)
                  for(int k=j+1;k<l;k++)
                      {
                           tem=Helen(points[i],points[j],points[k]);
                           max=Math.max(tem,max);
                      }
              return max;
        }
        public double distence(int[] p,int[] q){
           return Math.sqrt((p[0]-q[0])*(p[0]-q[0])+(p[1]-q[1])*(p[1]-q[1]));
        }
        public double Helen(int[] m,int[] n,int[] o){
            double a=distence(m,n);
            double b=distence(m,o);
            double c=distence(n,o);
            double p=(a+b+c)/2;
            return Math.sqrt(Math.abs(p*(p-a)*(p-b)*(p-c)));
        }
    }

     怎么说呢,遇到了几个问题,一个是计算海伦公式需要绝对值,还有一个就是在于数组的传递,除了这两种之外也没有什么更好的解法,就当做一次小小的练习了,明天继续加油!

  • 相关阅读:
    探测行星-搜寻外星行星
    NLM非局部均值算法相关
    LBP纹理特征
    IPOL图像处理分析经典在线(文献+源码)
    Halcon学习之四:有关图像生成的函数
    Halcon学习之三:有关图像通道的函数
    Halcon学习之二:摄像头获取图像和相关参数
    Halcon学习之边缘检测函数
    Halcon学习之一:查询图像参数
    Halcon学习之两幅图像处理
  • 原文地址:https://www.cnblogs.com/PPGwo/p/13418487.html
Copyright © 2011-2022 走看看