diff options
Diffstat (limited to 'largest_perimeter_triangle.py')
-rw-r--r-- | largest_perimeter_triangle.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/largest_perimeter_triangle.py b/largest_perimeter_triangle.py new file mode 100644 index 0000000..4ee442c --- /dev/null +++ b/largest_perimeter_triangle.py @@ -0,0 +1,26 @@ +# 976. Largest Perimeter Triangle + +""" +given an integer array 'nums', return the largest perimeter of a triangle +with a non-zero area, formed from three of these lengths. if it is impossible +to form any triangle of a non-zero area, return 0. +""" + + +class Solution(object): + def largestPerimeter(self, nums): + """ + :type nums: List[int] + :rtype: int + """ + nums = sorted(nums)[::-1] + for i in range(len(nums) - 2): + if nums[i] < nums[i + 1] + nums[i + 2]: + return nums[i] + nums[i + 1] + nums[i + 2] + return 0 + + +if __name__ == "__main__": + obj = Solution() + print(obj.largestPerimeter(nums=[2, 1, 2])) + print(obj.largestPerimeter(nums=[3, 2, 3, 4])) |