每日一题——LeetCode976

2023-12-30 19:25:10

方法一 个人方法 找规律:

要求要围成三角形且周长最大,那么三条边自然是越大且越接近越好。那么我们就从最大的三条边开始看能不能围成三角形。如果不能组成三角形,则丢弃最长的那条,再取剩余边里最长的那条再看能不能组成三角形,以此类推

var largestPerimeter = function(nums) {
    nums.sort((a,b)=>a-b)
    var tan=[]
    tan.unshift(nums.pop())
    tan.unshift(nums.pop())
    tan.unshift(nums.pop())
    var len=nums.length+1
    while(len--){
        if(tan[0]+tan[1]>tan[2]){
            return tan[0]+tan[1]+tan[2]
        }else{
            tan.pop()
            tan.unshift(nums.pop())
        }
    }
    return 0
};

?消耗时间和内存情况:

文章来源:https://blog.csdn.net/weixin_52878347/article/details/135307987
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。