976. 三角形最大周长
三角形最大周长
976. 给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。
- 思路:判断三个长度能否组成三角形的条件:任意两边之和大于第三边
# 1. 按长度自小到大排序 --> a <= b <= c
# 2. 排序后可得:
# a + c > b
# b + c > a
# 因此,只需判断 a + b > c 是否成立
def largestPerimeter(self, nums: List[int]) -> int:
if nums==None or len(nums)<3:
return 0
nums.sort()
i = len(nums)-1
while i >= 2:
if nums[i]<(nums[i-1]+nums[i-2]):
return (nums[i]+nums[i-1]+nums[i-2])
i -= 1
return 0

浙公网安备 33010602011771号