每日一题——LeetCode976

每日一题——LeetCode976_第1张图片

方法一 个人方法 找规律:

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

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
};

 消耗时间和内存情况:

每日一题——LeetCode976_第2张图片

你可能感兴趣的:(每日一题,javascript,leetcode,算法)