LeetCode - 976. Largest Perimeter Triangle

YAMAMAMO·2022년 4월 2일
0

LeetCode

목록 보기
45/100

문제

정수 배열 숫자를 지정하면 면적이 0이 아닌 삼각형의 가장 큰 둘레를 반환합니다. 이 길이 중 세 개로 구성됩니다. 0이 아닌 영역의 삼각형을 형성할 수 없는 경우 0을 반환합니다.

https://leetcode.com/problems/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.

Example 1:

Input: nums = [2,1,2]
Output: 5

Example 2:

Input: nums = [1,2,1]
Output: 0

풀이

자바입니다.

  • 삼각형은 가장 긴 변의 길이가 나머지 두 변의 합보다 작아야한다.
  • Arrays.sort() 사용해서 배열을 정렬하고 가장 큰 값들 부터 비교한다.
class Solution {
    public int largestPerimeter(int[] nums) {
        Arrays.sort(nums);
        for(int i = nums.length-1;i>=2;i--){
            if(nums[i]<nums[i-1]+nums[i-2]) return nums[i]+nums[i-1]+nums[i-2];
        }
        
        return 0;
    }
}
profile
안드로이드 개발자

0개의 댓글