给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。
示例 1:
输入:nums = [2,1,2]
输出:5
示例 2:
输入:nums = [1,2,1]
输出:0
提示:
3 <= nums.length <= 10^4
1 <= nums[i] <= 10^6
java代码:
class Solution {
public int largestPerimeter(int[] nums) {
int sum = 0;
if (nums.length < 3) {
return 0;
}
Arrays.sort(nums);
int i = nums.length - 1;
int j = nums.length - 2;
int k = nums.length - 3;
for (; k >= 0; k--) {
if (nums[k] + nums[j] > nums[i]) {
return nums[k] + nums[j] + nums[i];
}
i = j;
j = k;
}
return 0;
}
}
网友评论