给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。
示例 1:
输入:nums = [2,1,2]
输出:5
示例 2:
输入:nums = [1,2,1]
输出:0
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/largest-perimeter-triangle
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
水题但是自己讲做题原理的话没有下图那么清楚,所以还是稍微记录一下(觉得做题和表达题目解法一样重要...
class Solution { public int largestPerimeter(int[] nums) { Arrays.sort(nums); for(int i=nums.length-1;i>1;--i){ if(nums[i-1]+nums[i-2]>nums[i]){ return nums[i]+nums[i-1]+nums[i-2]; } } return 0; } }