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;
}
}
若觉得本文章对你有用,欢迎用爱发电资助。
网友评论