1005. 三角形最大面积

1005. 三角形最大面积

 

平面上有一系列点。返回由其中三个点可以形成的三角形最大面积。

样例

样例:

输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]

输出: 2

解释:

这五个点如图所示,红色三角形面积最大。

 

注意事项

 

3 <= points.length <= 50.

点不会重复。

-50 <= points[i][j] <= 50.

结果误差在10^(-6)以内可以被认为是正确的。

 

public class Solution {

    /**

     * @param points: List[List[int]]

     * @return: return a double

     */

    public double largestTriangleArea(int[][] points) {

        // write your code here

        double max = 0;

        double ret = 0;

        for (int[] point : points) {

            int x1 = point[0];

            int y1 = point[1];

            for (int j = 1; j < points.length; j++) {

                int x2 = points[j][0];

                int y2 = points[j][1];

                for (int k = 2; k < points.length; k++) {

                    int x3 = points[k][0];

                    int y3 = points[k][1];

                    max = 0.5d * Math.abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2));

                    ret = Math.max(max, ret);

//                    System.out.println(max + "," + i);

                }

            }

        }

        return ret;

    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时代我西

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值