Leetcode Java 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 - 2] + nums[i - 1] > nums[i]) {
return nums[i - 2] + nums[i - 1] + nums[i];
}
}
return 0;
}
}
결과
설명
- nums의 세 값을 이용하여 만들 수 있는 최대 크기의 삼각형의 세 변에 대한 합을 구하는 문제이다.
- 단, 만들 수 있는 삼각형이 없는 경우 0을 주어진 문제의 결과로 반환한다.
-
nums의 값들을 오름차순으로 정렬한다.
- $nums.length - 1$부터 1 초과일 때 까지 i를 감소시키며 아래를 수행한다.
- nums의 $i - 2$번째 값과 $i - 1$ 값의 합이 i번째 값보다 큰 경우, 현재 위치에서 만들 수 있는 최대 크기의 삼각형이므로 세 값의 합을 주어진 문제의 결과로 반환한다.
- 반복이 완료되면 nums의 값으로 삼각형을 만들 수 없으므로, 0을 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기