题目:

解题思路:
三边构成三角形的条件:任意两边之和大于第三边。
在排序后数组,
- 若当前最大两边之和大于第三边,则次三边构成最大周长;
- 若当前最大两边之和小于第三边,则再无更大组合大于第三边,降序再判断;
先对数组升序排序,倒序遍历,满足条件即找到最大三遍。
java
class Solution {
public int largestPerimeter(int[] nums) {
if (nums == null || nums.length < 3) {
return 0;
}
Arrays.sort(nums);
for (int i = nums.length - 1; i >= 2; i--) {
if (nums[i - 1] + nums[i - 2] > nums[i]) {
return nums[i -1] + nums[i - 2] + nums[i];
}
}
return 0;
}
}