给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。
class Solution {
public:
int largestPerimeter(vector<int>& nums) {
int n=nums.size();
//如果没有三个数,直接返回0
if(n<3){
return 0;
}
//排序
sort(nums.begin(),nums.end());
//从后往前
for(int i=n-1;i>=2;i--){
//如果前两个数的和大于最大的数即可以形成三角形
if(nums[i-1]+nums[i-2]>nums[i]){
//返回周长
return nums[i-1]+nums[i-2]+nums[i];
}
}
//否则返回0
return 0;
}
};
2072

被折叠的 条评论
为什么被折叠?



