• 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)));
        }
    }

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

  • 相关阅读:
    WebRTC之完整搭建Jitsi Meet指南
    使用Jibri进行Jitsi Meet视频录制
    完整开源免费视频会议Jitsi-meet安装教程
    iOS聊天起泡(背景图片被拉伸不变形)----转载--待验证
    技术人对赚钱的思考与摸索
    模板引擎的思考
    SpringBoot单文件与多文件上传
    数据库被删之反思
    分布式配置中心之思考
    正版office产品密钥-激活码
  • 原文地址:https://www.cnblogs.com/PPGwo/p/13418487.html
Copyright © 2020-2023  润新知