Leetcode PHP題解--D62 976. Largest Perimeter Triangle

D62 976. Largest Perimeter Triangle

題目連接

976. Largest Perimeter Trianglephp

題目分析

給定數字數組,任取三條邊造成三角形,返回最大邊長。數組

思路

對給定的數組進行降序排序,使最大的數字在前面。.net

取最大的前三條,判斷任兩邊之和是否大於第三邊。
是則返回周長便可。code

最終代碼

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

若以爲本文章對你有用,歡迎用愛發電資助。排序

相關文章
相關標籤/搜索