寫在前面:水題+1,其實可以用預設排序,然後遍歷的時候逆序遍歷。我特意把排序倒過來寫的,算是複習一把c++和js自帶排序如何使用(其實是查出來的,我又忘了)
c++**
class
solution
};
js**:
/**
* @param a
* @return
*/var
largestperimeter
=function(a
)a.sort
(compare)
;//sort排序預設是從小到大的,需要加這個函式引數反過來
for(
let i=
0;i<
a.length;i++)if
(a[i+1]+
a[i+2]
>
a[i]
)//只要較小的兩邊之和大於第三遍就滿足三角形形成條件
return
a[i+1]
+a[i+2]+
a[i]
;return0;
//不滿足輸出0
};
題目位址 LeetCode 976 三角形最大周長
組成三角形的充要條件 a b c。將a排序後,為了使周長最大,肯定是從後往前取,從最後一位c開始,依次判斷前兩位的數a,b之和是否比它大,只要滿足,那a c b和b c a又一定成立 c已經大於a b了 則abc可以構成三角形,且此時周長最大 如果不能滿足,就繼續往前找,直到找完所有a中元素。cla...
LeetCode 976 三角形的最大周長
給定由一些正數 代表長度 組成的陣列 a,返回由其中三個長度組成的 面積不為零的三角形的最大周長。如果不能形成任何面積不為零的三角形,返回 0。示例 1 輸入 2,1,2 輸出 5 示例 2 輸入 1,2,1 輸出 0 示例 3 輸入 3,2,3,4 輸出 10 示例 4 輸入 3,6,2,3 輸出...
leeetCode 976 三角形的最大周長
給定由一些正數 代表長度 組成的陣列 a,返回由其中三個長度組成的 面積不為零的三角形的最大周長。如果不能形成任何面積不為零的三角形,返回 0。示例 1 輸入 2,1,2 輸出 5思路 假設三角形三邊滿足a b c,則 a b c,因此可以列舉最長邊c,從貪心角度考慮一定是小於最長邊c的最大的兩個數...