Convex Hull ( Adobe Goldman, Sachs Morgan, Stanley, Ola Cabs, Samsung )

Adobe Goldman, Sachs Morgan, Stanley, Ola Cabs, Samsung



Hard 

Convex Hull of a set of points, in 2D plane, is a convex polygon with minimum area such that each point lies either on the boundary of polygon or inside it. Now given a set of points the task is to find the convex hull of points.
 

Example 1:

Input: points_list = {{1,2},{3,1},{5,6}}
Output: {{1,2},{3,1},{5,6}}

Example 2:

Input : points_list = {{5,1},{4,4},{1,2}}
Output: {{1,2},{4,4},{5,1}}

 

Your Task:
You don't need to read or print anything. Your task is to complete the function FindConvexHull() which takes points_list as input parameter and returns Convex Hull of given points in a list. If not possible returns a list containing -1.

 

Expected Time Complexity: O(nlog(n))
Expected Space Complexity: O(n) where n = total no. of points

Constraints:
1 <= n <= 104
-105 <= x, y <= 105


Code:

#include<bits/stdc++.h>

using namespace std;


 // } Driver Code Ends



class Solution {

public:

struct pt {

    double x, y;

};


static bool cmp(pt a, pt b) {

    return a.x < b.x || (a.x == b.x && a.y < b.y);

}

 


Previous
Next Post »