Leetcode-PHP题解D62-976-Largest-Perimeter-Triangle

D62 976. Largest Perimeter Triangle

题目链接

976. Largest Perimeter Triangle

题目分析

给定数字数组,任取三条边形成三角形,返回最大边长。

思路

对给定的数组进行降序排序,使最大的数字在前面。

取最大的前三条,判断任两边之和是否大于第三边。
是则返回周长即可。

最终代码

<?php
class Solution {

    /**
     * @param Integer[] $A
     * @return Integer
     */
    function largestPerimeter($A) {
        rsort($A);
        $length = count($A);
        for($i = 0; $i<$length-2; $i++){
            if(  ($A[$i]   + $A[$i+1] > $A[$i+2])
              && ($A[$i]   + $A[$i+2] > $A[$i+1])
              && ($A[$i+1] + $A[$i+2] > $A[$i])
              ){
                return $A[$i] + $A[$i+1] + $A[$i+2];
            }
        }
        return 0;
    }
}

若觉得本文章对你有用,欢迎用爱发电资助。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理