1. 程式人生 > 實用技巧 >979. 三角形的最大周長

979. 三角形的最大周長

給定由一些正數(代表長度)組成的陣列 A,返回由其中三個長度組成的、面積不為零的三角形的最大周長。

如果不能形成任何面積不為零的三角形,返回 0。

示例
輸入:[3,6,2,3]
輸出:8

程式碼

varlargestPerimeter=function(A){
if(A.length<3){
return0
}
A.sort((a,b)=>a-b)
for(leti=A.length-1;i>=2;i-=1){
if(A[i-1]+A[i-2]>A[i]){//兩個最大的加起來都沒大於第三邊,其他的就不需要嘗試了
returnA[i]+A[i-1]+A[i-2]
}
}

return0
};

構成三角形的充要條件是: 兩邊之和大於第三邊(此時肯定滿足兩邊之差小於第三邊)

以更加簡單的方式去思考問題,最大那麼就是倒序,能成為三角形那麼就是判斷前三個值是否能構成三角形