Largest Triangle Area - Math - Easy - LeetCode
💻 coding

Largest Triangle Area - Math - Easy - LeetCode

1 min read 134 words
1 min read
ShareWhatsAppPost on X
  • 1The problem involves finding the area of the largest triangle formed by any three points from a given list.
  • 2The solution uses a triple nested loop to calculate the area for all combinations of three points.
  • 3The algorithm has a time complexity of O(n^3) and a space complexity of O(1).

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The problem involves finding the area of the largest triangle formed by any three points from a given list."

Largest Triangle Area - Math - Easy - LeetCode

You have a list of points in the plane. Return the area of the largest triangle that can be formed by any 3 of the points.

Example: Input: points = [[0,0],[0,1],[1,0],[0,2],[2,0]] Output: 2 Explanation: The five points are show in the figure below. The red triangle is the largest.

Notes:

3 <= points.length <= 50. No points will be duplicated. -50 <= points[i][j] <= 50. Answers within 10^-6 of the true value will be accepted as correct.

public class Solution {
 public double LargestTriangleArea(int[][] points) {
 double maxArea = 0;
 for(int i=0;i<points.Length;i++){
 for(int j=0;j<points.Length;j++){
 for(int k=0;k<points.Length;k++){
 double a = Math.Sqrt(Math.Pow(points[i][0]-points[j][0],2)+Math.Pow(points[i][1]-points[j][1],2));
 
 double b = Math.Sqrt(Math.Pow(points[i][0]-points[k][0],2)+Math.Pow(points[i][1]-points[k][1],2));
 
 double c = Math.Sqrt(Math.Pow(points[j][0]-points[k][0],2)+Math.Pow(points[j][1]-points[k][1],2));
 
 double s = (a+b+c)/2;
 double area = Math.Sqrt(s*(s-b)*(s-c)*(s-a));
 if(area>maxArea){
 maxArea = area;
 }
 }
 }
 }
 
 return maxArea;
 }
}

Time Complexity: O(n^3)

Space Complexity: O(1)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 1 October 2020 · 1 min read · 134 words

Part of AskGif Blog · coding

You might also like