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

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


skys215
42 声望26 粉丝