class Solution {
public:
int largestPerimeter(vector<int>& nums) {
}
};
976. 三角形的最大周长
给定由一些正数(代表长度)组成的数组 nums
,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0
。
示例 1:
输入:nums = [2,1,2] 输出:5
示例 2:
输入:nums = [1,2,1] 输出:0
提示:
3 <= nums.length <= 104
1 <= nums[i] <= 106
相似题目
原站题解
golang 解法, 执行用时: 48 ms, 内存消耗: 6.6 MB, 提交时间: 2021-06-15 20:42:02
func largestPerimeter(nums []int) int { sort.Ints(nums) n := len(nums) for i := n-1; i >=2 ; i-- { if nums[i] < nums[i-1] + nums[i-2] { return nums[i]+nums[i-1]+nums[i-2] } } return 0 }
golang 解法, 执行用时: 52 ms, 内存消耗: 6.6 MB, 提交时间: 2021-06-15 20:39:50
func largestPerimeter(nums []int) int { sort.Ints(nums) circle := 0 n := len(nums) for i := 2; i < n; i++ { if nums[i] < nums[i-1] + nums[i-2] && nums[i]+nums[i-1]+nums[i-2] > circle { circle = nums[i]+nums[i-1]+nums[i-2] } } return circle }