列表

详情


976. 三角形的最大周长

给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0

 

示例 1:

输入:nums = [2,1,2]
输出:5

示例 2:

输入:nums = [1,2,1]
输出:0

 

提示:

相似题目

最大三角形面积

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int largestPerimeter(vector<int>& nums) { } };

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
}

上一题