반응형
https://leetcode.com/problems/largest-triangle-area/description/
📕 풀이방법
📔 입력 및 초기화
정답변수 maxArea 를 선언 후 0으로 초기화해줍니다.
📔 풀이과정
점 3개의 좌표를 알고 있다면 사선공식을 사용해 삼각형 면적을 구할 수 있으므로 3차원 for loop를 수행하며 최대 삼각형 면적을 구해 maxArea
📔 정답 출력 | 반환
maxArea를 반환합니다.
📕 Code
📔 C++
struct Point {
int x,y;
};
class Solution {
public:
double getTriangleArea(Point a, Point b, Point c){
return abs((a.x*b.y + b.x*c.y + c.x*a.y) - (b.x*a.y + c.x*b.y + a.x*c.y)) / 2.0;
}
double largestTriangleArea(vector<vector<int>>& points) {
double maxArea = 0;
int sz = points.size();
for(int i = 0; i < sz; i++) {
for(int j = i + 1; j < sz; j++) {
for(int k = j + 1; k < sz; k++) {
Point a = {points[i][0], points[i][1]};
Point b = {points[j][0], points[j][1]};
Point c = {points[k][0], points[k][1]};
maxArea = max(maxArea, getTriangleArea(a, b, c));
}
}
}
return maxArea;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Brute Force' 카테고리의 다른 글
(C++) - LeetCode (easy) 1380. Lucky Numbers in a Matrix (0) | 2024.03.01 |
---|---|
(C++) - LeetCode (easy) 997. Find the Town Judge (0) | 2023.09.20 |
(C++) - LeetCode (easy) 804. Unique Morse Code Words (0) | 2023.07.14 |
(C++) - LeetCode (easy) 796. Rotate String (0) | 2023.07.13 |
(C++) - LeetCode (easy) 653. Two Sum IV - Input is a BST (0) | 2023.06.06 |