Maximum Perimeter Triangle

  • + 1 comment
    def maximumPerimeterTriangle(sticks):
        triangles = []
        
        # Go through the numbers from largest to smallest.
        # Return the first non-degenerate triple found, it will be the largest.
        sorted_sticks = sorted(sticks)
        for i in reversed(range(len(sorted_sticks) - 2)):
            side_1 = sorted_sticks[i+2]
            side_2 = sorted_sticks[i+1]
            side_3 = sorted_sticks[i]
            
            if (side_2 + side_3 > side_1):
                return side_3, side_2, side_1
        
        return [-1]