D62 976. Largest Perimeter Triangle

题目链接

976. Largest Perimeter Triangle

题目分析

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

思路

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

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

最终代码

<?phpclass 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;    }}

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