Largest Perimeter Triangle Problem
Description
LeetCode Problem 976.
Given an integer array nums, return the largest perimeter of a triangle with a non-zero area, formed from three of these lengths. If it is impossible to form any triangle of a non-zero area, return 0.
Example 1:
1
2
Input: nums = [2,1,2]
Output: 5
Example 2:
1
2
Input: nums = [1,2,1]
Output: 0
Example 3:
1
2
Input: nums = [3,2,3,4]
Output: 10
Example 4:
1
2
Input: nums = [3,6,2,3]
Output: 8
Constraints:
- 3 <= nums.length <= 10^4
- 1 <= nums[i] <= 10^6
Sample C++ Code
1
2
3
4
5
6
7
8
9
10
11
class Solution {
public:
int largestPerimeter(vector<int>& nums) {
sort(nums.begin(), nums.end());
for (int i = nums.size()-3; i >= 0; i--) {
if (nums[i] + nums[i+1] > nums[i+2])
return nums[i] + nums[i+1] + nums[i+2];
}
return 0;
}
};