三角形的最大周长
给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。
示例 1:
输入:nums = [2,1,2] 输出:5
示例 2:
输入:nums = [1,2,1] 输出:0
提示:
3 <= nums.length <= 1041 <= nums[i] <= 106
方法一
class Solution {
public int largestPerimeter(int[] A) {
Arrays.sort(A);
for(int i=A.length-1;i>=2;--i){
if(A[i-2]+A[i-1]>A[i]){
return A[i-2]+A[i-1]+A[i];
}
}
return 0;
}
}
方法二
class Solution {
public int largestPerimeter(int[] nums) {
Arrays.sort(nums);
int a = nums.length - 3, b = nums.length - 2, c = nums.length - 1;
while(a >= 0) {
if(nums[a] + nums[b] > nums[c]) {
return nums[a] + nums[b] + nums[c];
}
a--;
b--;
c--;
}
return 0;
}
}

浙公网安备 33010602011771号